1

Hazelcast を介して Hibernate 2nd Level Cache を実装しようとしています。github リンクhttps://github.com/hazelcast/hazelcast-hibernate/blob/master/README.mdで提供されている Hazelcast プラグイン バージョンを使用して、Hibernate バージョン 4.3.11 を試しました。

アプリケーションを起動すると、例外に直面しています -

java.lang.NoClassDefFoundError: org/hibernate/cache/QueryResultsRegion
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:242)
    at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:125)
    at org.hibernate.cache.internal.RegionFactoryInitiator.initiateService(RegionFactoryInitiator.java:87)
    at org.hibernate.cache.internal.RegionFactoryInitiator.initiateService(RegionFactoryInitiator.java:46)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:83)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:223)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:197)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
    at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:295)
    at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2442)
    at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2438)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1855)
    at X.X.X.X.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:79)
    at X,.X.X.X.X.HibernatePlugIn.init(HibernatePlugIn.java:119)
    at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:869)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
    at javax.servlet.GenericServlet.init(GenericServlet.java:158)
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1282)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1195)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1085)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5349)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5641)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.hibernate.cache.QueryResultsRegion
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1891)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1734)
    ... 31 more

このクラスは、この Hibernate バージョンでは削除されていることがわかります。この Hazelcast プラグインがサポートする実際のバージョンを教えてください。また、最新バージョンに移行したかったため、Hibernate 5.2.3 バージョンと Hazelcast バージョンhttps://github.com/hazelcast/hazelcast-hibernate5をダウンロードしましたが、これも同じ例外になります。

キャッシュの hibernate.cfg.xml 設定は次のとおりです。

	<property name="hibernate.cache.use_second_level_cache">true</property> 
	<property name="hibernate.cache.use_query_cache">true</property>
 	<property name="hibernate.cache.use_minimal_puts">true</property> 
	<property name="hibernate.cache.region.factory_class">com.hazelcast.hibernate.HazelcastLocalCacheRegionFactory</property>
	<property name="hibernate.cache.hazelcast.shutdown_on_session_factory_close">false</property>

誰でも正しいバージョンで私たちを助けてもらえますか?

ありがとう、アラヴィンド

4

1 に答える 1