2010-05-16 11 views
10

Me gustaría saber qué frameworks de aplicaciones web Java proporcionan una capacidad de "carga en caliente", es decir, permite desarrollar aplicaciones y las redesplega en el servidor "casi al instante" (es decir, en menos de unos pocos segundos).¿Qué frameworks web de Java proporcionan recarga en caliente?

En el mundo de Java, Play! lo hace de la caja, pero lo que estoy buscando es una lista más exhaustiva.

Otros ejemplos que conozco incluyen: Nuxeo WebEngine, siempre que esté utilizando Eclipse y el plugin correcto, o, en el mundo de Python, Django y Pilones (cuando usa la opción --reload).

Respuesta

10

Si alguien podría estar interesado después de esos meses:

que pueda configure jetty para que se caliente implementar las clases compiladas (Eclipse + netbeans tienen la compilación en función de ahorro). Con experto puede escribir mvn jetty:run después de esta configuración en su pom.xml:

 <plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>maven-jetty-plugin</artifactId> 
      <version>${jetty.version}</version> 
      <configuration> 
       <scanTargets> 
        <scanTarget>target/classes/</scanTarget> 
       </scanTargets> 
       <scanIntervalSeconds>1</scanIntervalSeconds> 
      </configuration> 
     </plugin> 

Esto se puede hacer sin el uso de JRebel y significa: hacer un cambio en el IDE + + guardarlo ir a su navegador + F5 => ¡has terminado!

Con esa característica, p. wicket o vaadin son implementables en caliente (¡pero también en otros!)

+0

¿Hay alguna forma de hacerlo que no sea Maven? – nilskp

+0

Creo que sí, mira los documentos. a través de la línea de comandos y vía java – Karussell

0

Al desarrollar una aplicación struts (2) en eclipse, también se carga automáticamente tan pronto como guarde un archivo que se compila correctamente.

Sin embargo, las sesiones se pierden en cada recarga que es un poco molesto ..

+0

Eso es solo una redistribución automática de la aplicación en el servidor de aplicaciones que se desencadena por el IDE. –

0

Si utiliza POJOs, en lugar de EJBs, Seam framework debería estar en su lista.

2

Tapestry 5 tiene implementación en caliente de cambios de una sola clase/página, al igual que Seam.

15

Por lo que sé, puede hacer la recarga en caliente con casi todos los framework java si usa jrebel. Algunos frameworks tienen algún tipo de implementación en caliente, como se señala en otras respuestas.

+1

Pitty esto no forma parte del desarrollo J2EE estándar. – mdma

1

Supongo que quiere esto para fines de desarrollo y no para producción (ya que la recarga en caliente en producción para Java == big time falla). Muy raramente voy a compartir un producto comercial, pero si desea una recarga en caliente para acelerar el desarrollo, lo que realmente quiere es JRebel. Su recarga en caliente será bastante fácil de su parte.

NOTA: Hagas lo que hagas, no uses JRebel (o cualquier implementación en caliente, para el caso) para tus aplicaciones Java.

+0

¿Qué definición de recarga en caliente es mala? [1. Recargar una aplicación sin reiniciar todo el servidor (que puede contener varias aplicaciones). 2. Realizando automáticamente # 1 cuando los archivos cambian. ] Claro, puede prescindir del # 2 en producción, pero es posible que necesite # 1 –

0

Si desea editar su código Java (controlador, modelo) y actualizar su navegador para ver los cambios inmediatamente y sin reiniciar su servidor web, puede usar scooter. Por cierto, su herramienta incorporada File Browser te permite editar (compilar) tu código a través de un navegador. Es posible que un navegador no sea compatible como IDE, pero te ayuda a desarrollar tu aplicación de forma remota.

0

Hay un nuevo chico en el bloque, RelProxy, es de código abierto, no es tan avanzado como JRebel pero se puede usar para cambiar libremente un subconjunto de código en tiempo de ejecución y volver a cargarlo casi sin penalización de rendimiento y sin necesidad de volver a cargar el contexto (sin pérdida de sesión) en el desarrollo y la producción si lo desea.

Cuestiones relacionadas