2
我有一個運行在一個tomcat實例中的多個上下文,每個上下文都需要訪問同一個數據庫。作爲全局jndi資源的hibernate sessionfactory
我遇到了兌現問題,因爲每個上下文都有自己的hibernate和ehcache實例。
這似乎不對,他們應該只是hibernate和ehcache的一個實例,這樣也會有更好的性能。
我想使一個單一的hibernate會話工廠實例可用於所有上下文,我認爲這可以在tomcat中使用全局JNDI資源來完成。
這是解決此問題的好方法嗎?
此外,如果任何人都可以提供任何良好的資源來學習如何做到這一點,將不勝感激。
更新:我設法將會話工廠綁定到全局JNDI,但在tomcat啓動期間日誌中會出現ConcurrentModificationException。
...
INFO: schema update complete
Jan 11, 2012 2:03:19 PM org.hibernate.cache.UpdateTimestampsCache <init>
INFO: starting update timestamps cache at region: org.hibernate.cache.UpdateTimestampsCache
Jan 11, 2012 2:03:19 PM org.hibernate.cache.StandardQueryCache <init>
INFO: starting query cache at region: org.hibernate.cache.StandardQueryCache
Constructed session factory ok [email protected]
Jan 11, 2012 2:03:19 PM org.apache.catalina.mbeans.GlobalResourcesLifecycleListener createMBeans
SEVERE: RuntimeException java.util.ConcurrentModificationException
Jan 11, 2012 2:03:19 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Jan 11, 2012 2:03:19 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.23
...