¡Estoy intentando implementar dos o más Play independientes! (1.2.4) proyectos basados en la misma instancia de Jetty.¡Jugar! framework, única instancia de Jetty, implementar proyectos múltiples, compartir libs
Según this post que al parecer es posible extraer los de lib comunes de cada directorio y coloque PrjName.war/WEB-INF/lib
en un directorio lib compartido es decir, jetty/lib/ext
.
Tenemos un gran número de proyectos independientes más pequeños que nos gustaría implementar utilizando Play! pero todos deben implementarse en la misma instancia de Jetty que comparte todas las bibliotecas para reducir el uso de RAM. ¿Es correcta mi suposición de que varios proyectos que comparten las mismas bibliotecas reducirán la huella de memoria en general?
Mis intentos de poner todas las bibliotecas en una ubicación compartida, es decir, jetty/lib/ext
funcionaron para un único proyecto pero la implementación del segundo proyecto falla y rompe el primero.
Parece ser un problema con las instancias de EhCache en conflicto.
Aquí es el registro de amarre:
...
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jetty.start.Main.invokeMain(Main.java:469)
at org.eclipse.jetty.start.Main.start(Main.java:612)
at org.eclipse.jetty.start.Main.parseCommandLine(Main.java:265)
at org.eclipse.jetty.start.Main.main(Main.java:79)
Caused by: net.sf.ehcache.ObjectExistsException: Cache play already
exists
at net.sf.ehcache.CacheManager.addCache(CacheManager.java:859)
at play.cache.EhCacheImpl.<init>(EhCacheImpl.java:32)
at play.cache.EhCacheImpl.newInstance(EhCacheImpl.java:41)
at play.cache.Cache.init(Cache.java:241)
at play.Play.start(Play.java:511)
... 42 more
Cualquier ayuda es muy apreciada.