我試圖部署兩個或更多獨立的Play! (1.2.4)基礎項目到 相同的Jetty實例。玩!框架,單個Jetty實例,部署多個項目,共享庫
根據this post它顯然能夠從每個PrjName.war/WEB-INF/lib
目錄提取 共同LIB的,並放置他們 到一個共享lib目錄即jetty/lib/ext
。
我們有大量的小型獨立項目,我們想用 來實現使用Play!但所有需要部署在同一個 Jetty實例共享所有庫以減少RAM使用量。我的假設是否正確,幾個共享相同庫的項目會減少整個內存的佔用量?
我試圖將所有庫放在一個共享位置,即jetty/lib/ext
爲單個項目工作,但部署第二個項目失敗 並打破了第一個。
這似乎是EhCache實例衝突的問題。
這裏是碼頭日誌:
...
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
任何幫助是極大的讚賞。