Pregunta

Estoy a punto de desplegar varias aplicaciones Grails en la parte superior de un solo servidor Tomcat, y tengo las siguientes dudas:

  1. En términos de uso de la memoria: ¿Hay alguna diferencia para poner las librerías Grails en común dentro shared / lib en lugar de ponerlos en los archivos de guerra de cada aplicación? ¿Hay una lista de esos frascos?
  2. Si es así, ¿existe un mecanismo no empaquetar los frascos en el archivo de la guerra para el medio ambiente "producción"? Estoy usando NetBeans 6.7.
  3. Estoy a punto de utilizar Tomcat 5.5; ¿hay alguna experiencia que recomiendan usar 6.0 en su lugar?

Gracias

¿Fue útil?

Solución

creo que son las mejores prácticas para mantener las bibliotecas en la guerra, porque si se actualiza una biblioteca que es compartida entonces has asegurarse de que es compatible con todas las aplicaciones que están usando. Hacemos esto con griales y con la primavera, en general, de esa manera no tenemos que volver atrás y hacer las pruebas de compatibilidad cada vez que actualicemos.

También creo que Tomcat cargas una instancia de la clase a la aplicación para que no guardar en la memoria, utilizándola como una clase común.

Ver también:

¿El Tomcat cargar el mismo archivo de biblioteca en la memoria dos veces si se encuentran en dos aplicaciones web?

Otros consejos

1) poner los frascos en shared / lib o común / lib podría reducir la cantidad de memoria requerida en PermGen. En mi humilde opinión, la mayor ventaja es que la posibilidad de subir el archivo de la guerra es mucho más rápido. Pero hay que tener en cuenta, lo que dijo TripWird, tarros compartidos lazos todas las aplicaciones desplegadas a la misma versión griales. La actualización se convierte en un "nada-o-all" del juego.

2) si utiliza

grails prod war --nojars

A continuación, todos los archivos jar están excluidos de la guerra.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top