Foros del Web » Programación para mayores de 30 ;) » Java »

Levantar y bajar partes de una app web J2EE sin pararla

Estas en el tema de Levantar y bajar partes de una app web J2EE sin pararla en el foro de Java en Foros del Web. Hola Queria saber si teniendo una aplicacion web J2EE se puede deshabilitar o bajar parte de ella sin necesidad de regenerar el war y redesplegarlo. ...
  #1 (permalink)  
Antiguo 06/11/2007, 05:18
 
Fecha de Ingreso: marzo-2005
Mensajes: 47
Antigüedad: 19 años, 8 meses
Puntos: 0
Pregunta Levantar y bajar partes de una app web J2EE sin pararla

Hola

Queria saber si teniendo una aplicacion web J2EE se puede deshabilitar o bajar parte de ella sin necesidad de regenerar el war y redesplegarlo.

Es decir, que si por alguna cosa deja de funcionar o hay que modificar una parte el usuario no lo note reprecursion ni paron en la web si no va a pasar por la parte realmente afectada (donde se colocaria una version anterior o un aviso o lo que sea).

Supongo que lo que quiero es poder tener modulos que se puedan bajar, actualizar y subir sin afectar al resto.

¿sabeis como se haria?

Gracias.
__________________
Visita www.GranFuckultad.tk y goza de risa
  #2 (permalink)  
Antiguo 06/11/2007, 05:58
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 1 mes
Puntos: 51
Re: Levantar y bajar partes de una app web J2EE sin pararla

Hay partes que se pueden retocar "en caliente", pero hay muchas otras que no. Asi que depende mucho de como este hecha la aplicación. Los elementos como librerias (.jar), propiedades cargadas a través del classpath, configuraciones dentro de web.xml etc. no se pueden tocar sin que reinicie el contexto.

En cambio JSPs, CSS, plantillas freemarker, xsl, configuraciones de algunos framework recargables en tiempo de ejecucion etc. si se pueden tocar.

En resumen, depende de como hagas tu aplicacion, pero cambios "radicales" es dificil de hacerlos sin tener que reiniciar el contexto.

S!
  #3 (permalink)  
Antiguo 06/11/2007, 06:05
 
Fecha de Ingreso: marzo-2005
Mensajes: 47
Antigüedad: 19 años, 8 meses
Puntos: 0
Pregunta Re: Levantar y bajar partes de una app web J2EE sin pararla

se trataria de "retocar" sin restricciones

se puede hacer un "mini.war" con lo nuevo y solo desplegar encima eso? o algo asi.
o la cuando montas el portal si tienes identificadas las partes que interesan, levantarlo como un conjunto de war (no solo uno) y asi poder redesplegar uno sin afectar a otro?
__________________
Visita www.GranFuckultad.tk y goza de risa
  #4 (permalink)  
Antiguo 06/11/2007, 06:19
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 1 mes
Puntos: 51
Re: Levantar y bajar partes de una app web J2EE sin pararla

Retocar sin restricciones no es posible, ni con Java ni con nada . Lo puedes dividir en .war pero luego añadele que seguramente tendras dependencias entre modulos, usaran clases comunes etc. y cuando cambies eso, tendras que reiniciar todos los modulos. Aparte de que eso es un trabajo extra para mantener todos los .war "sincronizados", todas las aplicaciones compartiendo recursos... En la mayoria de casos no merece la pena.

Lo habitual es "minimizar" los elementos que obliguen a recargar el contexto (por ejemplo no usar elementos compilados para las cosas que mas cambian) y hacer paradas planificadas para cuando haya que recargar.

Y para que las paradas sean menos traumaticas, lo que he visto usar son clusters de aplicaciones o aplicaciones en paralelo detras de un proxy, donde tu pones una copia de la aplicacion en marcha, rediriges el trafico a la copia, despues paras la aplicacion, haces los cambios, las pones en marcha y luego rediriges el trafico hacia la nueva otra vez. Dependiendo de lo que guardes en sesion etc. puede que tengas que ponerlas en cluster o no...

Pero vamos, el mismo Apache hay que rebotarlo cuando añades una libreria nueva, por ejemplo, lo que pasa es que arranca mas rapido .
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.