Una biblioteca gratuita de cobertura de código Java que mide qué partes del bytecode de Java ejecutan las pruebas.
alibaba/jvm-sandbox
Un contenedor sandbox para JVM que añade AOP no invasivo en tiempo de ejecución a aplicaciones Java activas, sin reiniciarlas.
- Estrellas
- 6,952
- Forks
- 1,586
- Issues abiertos
- 49
- Último commit
- hace 2 meses
¿Qué es?
JVM-SANDBOX es un contenedor de framework AOP para Java que se conecta a una JVM en ejecución y amplía métodos objetivo en tiempo de ejecución. No es necesario reiniciar ni modificar las aplicaciones objetivo, y los módulos se pueden cargar y descargar sobre la marcha sin dejar rastros en la aplicación.
Funciona dividiendo cada llamada a un método en las etapas BEFORE, RETURN y THROWS, lo que permite que los módulos de plugins lean o cambien argumentos, valores de retorno y excepciones, o interrumpan la ejecución del método. El sandbox y los módulos se ejecutan con sus propios class loaders, por lo que no entran en conflicto con las clases de la aplicación. El proyecto se basa en Instrumentation y es compatible con JDK 6 a 11.
Entre sus usos habituales están el diagnóstico de fallos en producción, el registro dinámico, la inyección de fallos, la grabación y reproducción de solicitudes, el control del tráfico y la supervisión o el enmascaramiento de datos sensibles.
Funciones clave
- 01Se conecta a una JVM en ejecución sin reiniciar ni modificar la aplicación objetivo.
- 02Permite que los módulos lean o cambien argumentos de métodos, valores de retorno y excepciones.
- 03Aísla el sandbox y los módulos de las clases de la aplicación mediante class loaders personalizados.
- 04Los módulos se pueden cargar y descargar en caliente sin dejar rastros.
- 05Admite varios tenants, cada uno con sandboxes controlados de forma independiente.
- 06Funciona con JDK 6 a 11.
Casos de uso
- Diagnosticar problemas en producción añadiendo registros dinámicos a los métodos sin volver a desplegar la aplicación.
- Inyectar fallos en métodos para probar cómo gestiona errores un sistema.
- Grabar llamadas a métodos y reproducir sus resultados para realizar pruebas.
- Supervisar o enmascarar datos sensibles que pasan por los métodos de una aplicación.
Inicio rápido
- 1
Descarga el archivo zip de la última versión (el README indica que este enlace OSS puede caducar).
wget https://ompc.oss-cn-hangzhou.aliyuncs.com/jvm-sandbox/release/sandbox-1.3.3-bin.zip - 2
O compila tú mismo la distribución con JDK 1.8 en Linux o macOS.
cd bin && ./sandbox-package.sh - 3
Conecta el sandbox a un proceso Java en ejecución (sustituye 33342 por el ID de tu proceso).
./sandbox.sh -p 33342
Antes de usarlo
- El README indica que solo se admiten las versiones de JDK 6 a 11.
- Para compilar desde el código fuente se necesita JDK 1.8 y Linux, macOS o Unix; Windows no es compatible para la compilación.
- Distribuido bajo la licencia LGPL-3.0, una licencia copyleft.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es jvm-sandbox?
- Un contenedor sandbox para JVM que añade AOP no invasivo en tiempo de ejecución a aplicaciones Java activas, sin reiniciarlas. JVM-SANDBOX es un contenedor de framework AOP para Java que se conecta a una JVM en ejecución y amplía métodos objetivo en tiempo de ejecución. No es necesario reiniciar ni modificar las aplicaciones objetivo, y los módulos se pueden cargar y descargar sobre la marcha sin dejar rastros en la aplicación.
- ¿jvm-sandbox es gratuito? ¿Qué licencia tiene?
- jvm-sandbox es open source bajo la licencia LGPL-3.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿jvm-sandbox sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de jvm-sandbox fue el 9 sept 2026.
- ¿Para qué puedo usar jvm-sandbox?
- Diagnosticar problemas en producción añadiendo registros dinámicos a los métodos sin volver a desplegar la aplicación. Inyectar fallos en métodos para probar cómo gestiona errores un sistema. Grabar llamadas a métodos y reproducir sus resultados para realizar pruebas. Supervisar o enmascarar datos sensibles que pasan por los métodos de una aplicación.
- ¿Cómo se instala jvm-sandbox?
- Descarga el archivo zip de la última versión (el README indica que este enlace OSS puede caducar).: wget https://ompc.oss-cn-hangzhou.aliyuncs.com/jvm-sandbox/release/sandbox-1.3.3-bin.zip O compila tú mismo la distribución con JDK 1.8 en Linux o macOS.: cd bin && ./sandbox-package.sh Conecta el sandbox a un proceso Java en ejecución (sustituye 33342 por el ID de tu proceso).: ./sandbox.sh -p 33342
- ¿Dónde consigo jvm-sandbox?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/alibaba/jvm-sandbox
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Visor y editor de bytecode para archivos de clase Java, además de una biblioteca Kotlin Multiplatform para leerlos y escribirlos.
La biblioteca oficial de cliente de Python para exponer métricas de aplicaciones en el formato de monitorización de Prometheus.
Herramienta de instrumentación de OpenTelemetry para Go en tiempo de compilación, que añade trazas y métricas con el prefijo `otel go build`, sin modificar el código de la aplicación.
Framework de Python para diseñar, desarrollar y evaluar agentes autónomos de AIOps en entornos de nube con microservicios simulados e inyección de fallos.
Herramienta de diagnóstico para Java que permite investigar en vivo aplicaciones JVM en ejecución, sin cambiar el código ni reiniciarlas.