Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
An extensible command line for              the JVM     Julien Viet           Alain DefranceSenior software engineer   Sof...
@julienviet                        @alaindefrance 10 years of Open Source           2 years of Open Source ■ eXo Platform ...
Project  Open source LGPL: http://www.crashub.org  CRaSH 1.0 – April 2012  CRaSH 1.1 – August 2012  CRaSH 1.2 – Soon (...
What/Why?CLI are still relevant Ubiquitous Expressive: find . -name “*.java” -exec grep julien {} ; -   print Made for...
Comparison with UN*X shell Same client interface    But hosted by JVM ■ History                ■ Java threads ■ Completion...
Usage Runtime modes                  Get it from ■ Standalone                   ■ crashub download ■ Embedded (web app, Sp...
Simple stack                    Native Client   SSH   Telnet     Web    Console   Attach   VisualVM                    Con...
What you can do with CRaSH  Swiss army knife  Embed in your runtime  Create your commands  Monitoring tool  Scripting...
Out of the box
Out of the box  Install CRaSH  Run CRaSH standalone  CLI basics  JVM base commands  Test it online
The Swiss Knife
The Swiss Knife  Attach CRaSH to JBoss Application Server  Execute commands in the Application Server
Extend your runtime
Extend your runtime  Embed CRaSH in a Spring web application  Connect using remote protocol  Develop a command to acces...
Monitoring
Monitoring  Attach to Tomcat with VisualVM  Use JMX command pipes  Create pipes  Assemble in custom dashboard
Pipelined object stream     jmx                      jmx get            sort     find<Void, ObjectName> <ObjectName, Map> ...
Wrap upMulti facet, powerful and extensibleReach us crash-users@googlegroups.com @crashub http://www.crashub.orgHack...
Q&A
CRaSH the shell for the JVM
Upcoming SlideShare
Loading in …5
×

CRaSH the shell for the JVM

1,195 views

Published on

CRaSH is the shell for the Java Virtual Machine

Published in: Technology
  • Be the first to comment

CRaSH the shell for the JVM

  1. 1. An extensible command line for the JVM Julien Viet Alain DefranceSenior software engineer Software engineer eXo Platform eXo Platform @julienviet @alaindefrance
  2. 2. @julienviet @alaindefrance 10 years of Open Source 2 years of Open Source ■ eXo Platform 2008 ■ eXo Platform 2010 ■ Red Hat 2006 Various ■ JBoss 2002 ■ Develop social product Various ■ Portal stuff (JBoss / GateIn) ■ JCP a while ago 3
  3. 3. Project  Open source LGPL: http://www.crashub.org  CRaSH 1.0 – April 2012  CRaSH 1.1 – August 2012  CRaSH 1.2 – Soon (in release candidate)
  4. 4. What/Why?CLI are still relevant Ubiquitous Expressive: find . -name “*.java” -exec grep julien {} ; - print Made for us Trends: NoSQL, MS Powershell, Drupal, Jenkins, Cloud, etc…Fun!
  5. 5. Comparison with UN*X shell Same client interface But hosted by JVM ■ History ■ Java threads ■ Completion ■ JVM access ■ Command Line Editing ■ Options & Arguments ■ Pipes 6
  6. 6. Usage Runtime modes Get it from ■ Standalone ■ crashub download ■ Embedded (web app, Spring, ■ Maven Central dependency …) ■ Attach 7
  7. 7. Simple stack Native Client SSH Telnet Web Console Attach VisualVM Connectors CRaSH Groovy Commands
  8. 8. What you can do with CRaSH  Swiss army knife  Embed in your runtime  Create your commands  Monitoring tool  Scripting  And more…
  9. 9. Out of the box
  10. 10. Out of the box  Install CRaSH  Run CRaSH standalone  CLI basics  JVM base commands  Test it online
  11. 11. The Swiss Knife
  12. 12. The Swiss Knife  Attach CRaSH to JBoss Application Server  Execute commands in the Application Server
  13. 13. Extend your runtime
  14. 14. Extend your runtime  Embed CRaSH in a Spring web application  Connect using remote protocol  Develop a command to access Spring beans  Add options and arguments to the command
  15. 15. Monitoring
  16. 16. Monitoring  Attach to Tomcat with VisualVM  Use JMX command pipes  Create pipes  Assemble in custom dashboard
  17. 17. Pipelined object stream jmx jmx get sort find<Void, ObjectName> <ObjectName, Map> <Map, Map>
  18. 18. Wrap upMulti facet, powerful and extensibleReach us crash-users@googlegroups.com @crashub http://www.crashub.orgHackergarten hands on coding Tuesday
  19. 19. Q&A

×