variable usar una sirve que para metodos metodo estaticos ejemplos cuando clases clase atributos java class jboss reload hotswap

usar - que es una clase en java



Recarga de clase Java (3)

Estoy usando el servidor jboss y tengo todas mis clases dentro de un archivo jar.
Ahora si cambio alguno de los archivos java, necesito reemplazar el archivo de clase en el contenedor y tengo que reiniciar el servidor.
¿Hay alguna manera de cargar dinámicamente el archivo de clase recién creado sin el reinicio del servidor?

Gracias por adelantado.


Parece que tienes que engañar al servidor para que vuelva a cargar tu aplicación modificando web.xml, lo que significa que puedes abrir web.xml en un editor, ingresar un espacio, luego eliminar y guardar el archivo o cambiar la fecha de modificación en el archivo con una utilidad .

JBoss no parece tener una función práctica como la bandera de "recargo" = "verdadero" de Tomcat en el archivo Server.xml de Tomcat.


hay una serie de soluciones, ninguna de ellas particularmente limpia o fácil.

Como se indicó, al cambiar el archivo web.xml se volverá a cargar el contexto y, por lo tanto, se actualizará el código fuente, y esto se puede hacer sin reiniciar el servidor. Esto funciona porque "WEB-INF / web.xml" está configurado como WatchedResource en el archivo TOMCAT / conf / Context.xml. Es decir, cada contexto hereda esta configuración y automáticamente mira este archivo. Puede eliminar este comportamiento, pero también puede proporcionar valores de WatchedResource en su propio web.xml para ver archivos adicionales. Si bien no lo recomiendo, podría agregar todos sus archivos de clase a este y el contexto se volvería a cargar cuando cambie un archivo.

Una mejor solución se basa en el hecho de que una Clase se puede volver a cargar cuando descarta el ClassLoader que cargó la Clase. Por lo tanto, si administra su código intercambiable en caliente en su propio ClassLoader, puede actualizar su código sin reiniciar el contexto si actualiza el ClassLoader. Es más fácil decirlo que hacerlo, lamentablemente, pero puede ayudarte a empezar.


He tenido un gran éxito con JRebel (http://www.zeroturnaround.com/jrebel/). Este es un producto muy bueno que permite la reposición de clase sin problemas para la gran mayoría de las modificaciones que puede realizar en una clase de Java. No se reinicia el servidor de la aplicación o incluso la aplicación requerida, las clases simplemente se vuelven a cargar detrás de escena.

Viene con una prueba gratuita de 30 días para que pueda ver si funciona para usted.

(Descargo de responsabilidad: no estoy de ninguna manera conectado con Zero Turnaround)