La semana pasada fue anunciado CRaSH 1.0, una consola extensible para ejecutar comandos en una JVM local o remota. CRaSH permite conectarse a una máquina virtual Java que esté corriendo y ejecutar comandos dentro de ella, como por ejemplo listar los threads que hay en la máquina virtual, detenerlos, ejecutar el recogedor de basura, listar los loggers, obtener información sobre los datasources que hay dentro del servidor de aplicaciones Java, ejecutar comandos SQL desde la máquina virtual Java…
Aquí tenéis un video donde empleando CRaSH se realiza una conexión a una máquina virtual en la cual está corriendo JBoss y, a modo de demo para mostrar su potencia, empleando un pool de conexiones de JBoss se ejecuta unos cuantos comandos SQL contra la base de datos:
Los comandos de CRaSH están implementados en Groovy. Se pueden extender por el usuario y se pueden recargar en caliente; es decir, tú puedes tener abierta una sesión de CRaSH contra una máquina virtual, ejecutar un comando en ella, modificar el código fuente correspondiente con el comando y volver a ejecutar el comando, y la segunda ejecución ejecutará el código modificado. Aquí tenéis una demo de esa funcionalidad:
¿Qué os parece esta nueva herramienta? ¿Creéis que os será útil?