2016-10-31 2 views
1

Мы пытаемся реализовать Hibernate 2-го уровня Cache через Hazelcast. Мы попытались использовать версии Hibernate версии 4.3.11 с использованием версии плагина Hazelcast, как указано в ссылке gifib https://github.com/hazelcast/hazelcast-hibernate/blob/master/README.md.Hazelcast 3.7.1 -Hibernate 4.X Второй уровень Cache - org/hibernate/cache/QueryResultsRegion класс не найден

Когда мы начинаем приложение, мы сталкиваемся исключение -

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 

Мы видим, что этот класс был удален в этой версии гибернации. Кто-нибудь может сообщить нам о реальных версиях, поддерживаемых этим плагином Hazelcast? Кроме того, мы хотели перейти на последнюю версию и, следовательно, загрузили версию Hibernate 5.2.3 вместе с версией Hazelcast https://github.com/hazelcast/hazelcast-hibernate5, но это также приводит к тому же исключению.

Настройки hibernate.cfg.xml для кэша являются следующим образом-

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

Может кто-нибудь, пожалуйста, помогите нам на правильные версии?

Спасибо, Аравиндом

+0

вы используете hazelcast-all.jar в вашем классе? – Mesut

+0

Да, мы делаем. Мы используем 3.7.1 – Aravind

+0

Можете ли вы просто попробовать использовать hazelcast-3.7.1.jar и включить необходимую фюзеляж-гибернатную банку на основе вашей версии спящего режима? – Mesut

ответ

0

Я снова загрузили источник для 5.2 Hazelcasst Plugin и перестроил источник, который, кажется, решить эту проблему. Не уверен относительно проблемы, так как другие банки Hazelcast были в основном одинаковыми. Конечные банки использовали -

hazelcast-3.7.1.jar, hazelcast-hibernate52-1.1.1-SNAPSHOT.jar (перестроен), зимуют-ядро-5.2.3.Final.jar

Смежные вопросы