У меня есть несколько контекстов, запущенных в одном экземпляре tomcat, каждому контексту нужен доступ к той же базе данных.hibernate sessionfactory как глобальный ресурс jndi
У меня возникают проблемы с обналичиванием, потому что каждый контекст имеет свой собственный экземпляр спящего режима и ehcache на данный момент.
Это кажется неправильным, они должны быть только одним экземпляром спящего режима и ehcache, это также будет иметь лучшую производительность.
Я хотел бы сделать единый экземпляр фабрики сеансов hibernate доступным для всех контекстов, я думаю, что это можно сделать с использованием глобального ресурса JNDI в tomcat.
Это хороший способ решить эту проблему?
Также, если кто-нибудь может предоставить какие-либо хорошие ресурсы для изучения того, как это сделать, это будет очень признательно.
Обновление: мне удалось привязать фабрику сеансов к глобальному 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
...