IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Introduction à CRaSH : application à la visualisation d'un cache EHcache


Sujet :

Java

  1. #1
    Membre confirmé
    Avatar de drieu13
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 131
    Points : 469
    Points
    469
    Par défaut Introduction à CRaSH : application à la visualisation d'un cache EHcache
    Bonjour,

    Vous trouverez un article sur CRaSH à cette adresse : http://damienrieu.developpez.com/art...hcache_spring/

    CRaSH permet de se connecter à une JVM en mode Shell puis d'exécuter des commandes directement sur cette JVM. Ainsi, nous allons accéder à un certain nombre de commandes prédéfinies (exemple la commande thread, jdbc, java…).
    Une des grandes forces de CRaSH est que l'on peut aussi définir ses propres commandes Shell par programmation (Syntaxe Java ou Groovy). Il est alors possible de réaliser des commandes spécifiques à nos besoins !
    Dans cette article, nous allons présenter CRaSH grâce à un cas pratique. Pour cela, nous allons réaliser une commande CRaSH d'affichage d'un cache puis nous intègrerons cette commande dans notre application démo.
    Nous montrerons ensuite comment utiliser cette commande à l'aide de CRaSH.

    Si vous avez des questions ou des remarques sur cet article, profitez de cette discussion.

    J'espère que cet article vous fera découvrir CRaSH et vous aura donné envie d'en savoir plus sur CRaSH.
    Ingénieur d'études informatique à la DSI l'université de Limoges

    Mon blog : https://damienrieu.blogspot.fr/
    Mon projet : https://opentrainingproject.blogspot.fr/

    Linkedin : http://www.linkedin.com/pub/damien-rieu/58/986/2b9
    Twitter : https://twitter.com/drieu

  2. #2
    Membre confirmé
    Avatar de drieu13
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 131
    Points : 469
    Points
    469
    Par défaut
    Pour vous incitez à poster des commentaires, je vais essayer de vous donner quelques précisions :
    - Vous accéder au coeur de la JVM en mode Shell.
    - Vous pouvez vous connecter sur n'importe quel JVM et la monitorer.
    - Vous créer des commandes (Java ou Groovy) pour vos propres besoins (dans l'article on va voir les valeurs d'un cache ehcache)

    De plus , depuis la version 1.2, il existe la possibilité de faire des dashboards personnalisés (la commande Linux Top mais adaptée à vos besoins !) et il existe aussi
    un plugin Visual VM. (Plus d'infos sur http://www.crashub.org/)

    Avez-vous des questions sur l'article ? sur CRaSH ?
    Ingénieur d'études informatique à la DSI l'université de Limoges

    Mon blog : https://damienrieu.blogspot.fr/
    Mon projet : https://opentrainingproject.blogspot.fr/

    Linkedin : http://www.linkedin.com/pub/damien-rieu/58/986/2b9
    Twitter : https://twitter.com/drieu

  3. #3
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Ca a l'air interessant. Par contre, j'ai jeté un oeil à l'article et au site de crash mais il ne semble pas etre possible d'utiliser l'outil hors des services web ? Par exemple pour une appli java ou bien une applet ? C'est dommage...

  4. #4
    Membre confirmé
    Avatar de drieu13
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 131
    Points : 469
    Points
    469
    Par défaut
    Merci pour le commentaire,
    En fait, l'outil peut se connecter sur n'importe quel JVM.Il suffit d'avoir le PID de l'application (avec la commande jps du JDK)
    Ensuite, Il suffit de faire :

    ./crash.sh PID
    Est ce que je répond bien à la question ?
    Ingénieur d'études informatique à la DSI l'université de Limoges

    Mon blog : https://damienrieu.blogspot.fr/
    Mon projet : https://opentrainingproject.blogspot.fr/

    Linkedin : http://www.linkedin.com/pub/damien-rieu/58/986/2b9
    Twitter : https://twitter.com/drieu

  5. #5
    Membre confirmé
    Avatar de drieu13
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 131
    Points : 469
    Points
    469
    Par défaut
    Je complète ma réponse :

    CRaSH peut etre embarqué dans une application Java non serveur.Il y actuellement 2 exemples : le mode standalone mode ou le mode Spring.Pour l'embarquer dans une application Java non serveur, il existe une classe Bootstrap.
    Cependant, la manière de l'embarquer en utilisant la classe Boostrap n'est pas documentée aujourd'hui.
    Pour plus d'information :

    Ingénieur d'études informatique à la DSI l'université de Limoges

    Mon blog : https://damienrieu.blogspot.fr/
    Mon projet : https://opentrainingproject.blogspot.fr/

    Linkedin : http://www.linkedin.com/pub/damien-rieu/58/986/2b9
    Twitter : https://twitter.com/drieu

  6. #6
    Membre chevronné
    Inscrit en
    Mai 2006
    Messages
    1 364
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 1 364
    Points : 1 984
    Points
    1 984
    Par défaut
    Dans ce cas, ca m'interesse
    Va falloir que je jette un oeil des que j'aurais l'occasion.

    Merci pour le tuto (lu en diagonale pour l'instant mais qui a l'air bien fait)

    Si je peux me permettre une petite remarque, je dirais que dans le tuto, j'aurais mis dans l'introduction des exemples de cas que crash peut debugger (par exemple thread en deadlock j'imagine). Parce que la, le sujet est tres technique et ca peut aider de savoir un peu plus précisement ou on met les pieds

  7. #7
    Membre confirmé
    Avatar de drieu13
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 131
    Points : 469
    Points
    469
    Par défaut
    Merci pour le conseil Je vais voir comment ajouter cela.

    Autre point que je n'ai pas invoqué, il est possible de tester les fonctionnalités de base de CRaSH directement sur Internet (http://crash.vietj.cloudbees.net/).
    Cela peut peut aider à se faire une idée sur CRaSH sans rien avoir installer (encore que l'installation de CRaSH se résume à décompresser un zip )

    Si d'autres personnes ont des commentaires sur l'article, n'hésitez pas ! Toutes les questions sont les bienvenues


    ps : Si il y a des fonctionnalités que vous souhaiteriez voir, vous pouvez aussi le poster, je transmettrai !
    Ingénieur d'études informatique à la DSI l'université de Limoges

    Mon blog : https://damienrieu.blogspot.fr/
    Mon projet : https://opentrainingproject.blogspot.fr/

    Linkedin : http://www.linkedin.com/pub/damien-rieu/58/986/2b9
    Twitter : https://twitter.com/drieu

  8. #8
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Je suis totalement d'accord avec le conseil. Dans ton tutoriel, tu te sers de CRaSH pour faire surtout du traçage/débuggage en visualisant ce qu'il y a dans le cache d'après ce que je comprends.

    Du coup comme l'a fait remarquer hwoarang, j'aimerais savoir s'il y a d'autres avantages à se servir de CRaSH via des exemples concrets.

    En tout cas merci pour ce tutoriel et bravo pour ta contribution à cet outil.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  9. #9
    Membre confirmé
    Avatar de drieu13
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 131
    Points : 469
    Points
    469
    Par défaut
    Merci pour ton commentaire
    En faite, suite aux conseils de hwoarang, j'ai rajouté un lien vers la démo en ligne car je trouve qu'elle permet de tester directement les commandes de base et je pense de se faire une idée.
    Pour l'instant, CRaSH n'a pas encore beaucoup d'exemples concrets car c'est un projet encore jeune.Ce que l'on peut dire par contre, c'est que CRaSH offre énormément de possibilités car on peut programmer ses propres commandes !

    Sinon, voici des cas d'utilisations que j'imagine pour CRaSH :

    - Modification des valeurs en live :
    Dans le cas de l'article par exemple, on pourrait modifier la commande pour mettre à jour les caches ou pour ajouter des données dans le cache.
    On pourrait imaginer l'utiliser par exemple dans un contexte d'intégration pour mettre à jour des properties, des caches ...

    - Dans son application en développement, on pourrait par exemple réaliser des commandes spécifiques à ses besoins.
    En ce moment, j'utilise un projet qui fait des Jobs (framework Play).J'aimerais par exemple avoir une commande qui me donne plus de détails sur les jobs en cours et leurs valeurs ....

    - Remplacement de la console JMX :
    Il y a une commande JMX qui permet de visualiser les métriques JMX et de les modifier.
    On pourrait par exemple faire sa propre commande de mise à jour de métriques.

    - Utilisation de la commande JPA pour accèder aux entities.

    - Monitoring/Debugging : Depuis la version 1.2, il existe la possibilité de faire des dashboards (similaire à la commande unix top) personnalisés
    Il existe aussi un plugin JVisualVM.

    Voici aussi le lien sur la présentation faite à Devoxx avec quelques exemples d'utilisations : http://blog.julienviet.com/2012/11/1...xx-university/

    Voilà, j'espère avoir répondu à ta question
    Ingénieur d'études informatique à la DSI l'université de Limoges

    Mon blog : https://damienrieu.blogspot.fr/
    Mon projet : https://opentrainingproject.blogspot.fr/

    Linkedin : http://www.linkedin.com/pub/damien-rieu/58/986/2b9
    Twitter : https://twitter.com/drieu

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Lien Export
    Bonsoir

    Dommage que les exports PDF... soient tous mort.

    Tony

  11. #11
    Membre confirmé
    Avatar de drieu13
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 131
    Points : 469
    Points
    469
    Par défaut
    Merci pour la remarque
    C'est corrigé
    Ingénieur d'études informatique à la DSI l'université de Limoges

    Mon blog : https://damienrieu.blogspot.fr/
    Mon projet : https://opentrainingproject.blogspot.fr/

    Linkedin : http://www.linkedin.com/pub/damien-rieu/58/986/2b9
    Twitter : https://twitter.com/drieu

Discussions similaires

  1. Crash Application WPF
    Par Lelio1407 dans le forum Windows Presentation Foundation
    Réponses: 10
    Dernier message: 11/03/2010, 13h59
  2. Seam - Contexte Application ou gestion d'un cache ?
    Par anicaise dans le forum Seam
    Réponses: 9
    Dernier message: 13/01/2009, 16h12
  3. Crash Application si NotePad++ ouvert
    Par mr_samurai dans le forum Qt
    Réponses: 3
    Dernier message: 19/06/2008, 00h02
  4. Visualiser la mémoire cache utilisée
    Par Aitone dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 18/12/2006, 20h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo