Hay tecnologías Java que le permiten reemplazar las clases sobre la marcha (como JRebel). Pero dado que ya está usando Glassfish, debería comenzar a usar el clustering integrado en glassfish. Necesitará 2.1 o 3.1, ya que 3.0 no admite clustering. Con un clúster de Glassfish, tiene un equilibrador de carga (Apache, Sun Web Server, hardware (Big IP, Coyote), etc.) distribuya la carga entre los nodos de su clúster. Cuando desee actualizar la aplicación, puede hacerlo técnicamente un nodo a la vez. Configurar el clúster no es la cosa más fácil del mundo, pero es factible y obtendría grandes beneficios. Podrá escalar la carga agregando nuevo hardware e incluso utilizando servicios en la nube de Amazon (o quien sea). Podrá mantener su sitio funcionando incluso si el hardware falla en uno de los nodos.
Personalmente estoy en medio de la conversión de Glassfish 2.1 a 3.1. Hasta ahora, me gusta mucho más la gestión del clúster Glassfish 3.1, pero personalmente no puedo garantizar cómo se ejecutará en producción, aunque tengo grandes expectativas.
http://download.oracle.com/docs/cd/E18930_01/html/821-2432/gktqx.html#gktob
¿Algún progreso en esto? – Kevin