【问题标题】:Interface between Hazelcast 4.0.2 and hazelcast hibernate4 3.8.4Hazelcast 4.0.2 和 hazelcast hibernate4 3.8.4 之间的接口
【发布时间】:2020-07-20 14:21:52
【问题描述】:

我想将 Hazelcast 从 3.12.7 升级到 4.0.2,并使用 hazelcast-hibernate4 3.8.4 作为 Hibernate 的接口。

我的hibernate-core 是 4.2.21。当我尝试上传应用程序时,我接受以下异常。

是否可以使用hazelcast-hibernate4 3.8.4 升级到 4.0.2?

我需要升级到hazelcast-hibernate5 吗?如果我必须升级到hazelcast-hibernate5,是否需要我升级hibernate-core

Caused by: javax.persistence.PersistenceException: [PersistenceUnit: intellinx-bom] Unable to build EntityManagerFactory; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.spi.CacheImplementor]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:396)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:371)
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:336)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1689)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1627)
    ... 26 more
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.spi.CacheImplementor]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:211)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:175)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:156)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:291)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1807)
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:96)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:915)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:900)
    at com.intellinx.ic.jpa.ConfigurableHibernatePersistence.createEntityManagerFactory(ConfigurableHibernatePersistence.java:95)
    at com.intellinx.ic.jpa.ConfigurableHibernatePersistence.createContainerEntityManagerFactory(ConfigurableHibernatePersistence.java:67)
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:360)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:384)
    ... 30 more
Caused by: com.hazelcast.core.HazelcastException: java.lang.reflect.InvocationTargetException
    at com.hazelcast.internal.util.ServiceLoader$NewInstanceIterator.next(ServiceLoader.java:299)
    at com.hazelcast.internal.serialization.impl.SerializerHookLoader.load(SerializerHookLoader.java:62)
    at com.hazelcast.internal.serialization.impl.SerializerHookLoader.<init>(SerializerHookLoader.java:55)
    at com.hazelcast.internal.serialization.impl.DefaultSerializationServiceBuilder.registerSerializerHooks(DefaultSerializationServiceBuilder.java:310)
    at com.hazelcast.internal.serialization.impl.DefaultSerializationServiceBuilder.build(DefaultSerializationServiceBuilder.java:238)
    at com.hazelcast.internal.serialization.impl.DefaultSerializationServiceBuilder.build(DefaultSerializationServiceBuilder.java:55)
    at com.hazelcast.instance.impl.DefaultNodeExtension.createSerializationService(DefaultNodeExtension.java:252)
    at com.hazelcast.instance.impl.Node.<init>(Node.java:249)
    at com.hazelcast.instance.impl.HazelcastInstanceImpl.createNode(HazelcastInstanceImpl.java:147)
    at com.hazelcast.instance.impl.HazelcastInstanceImpl.<init>(HazelcastInstanceImpl.java:116)
    at com.hazelcast.instance.impl.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:211)
    at com.hazelcast.instance.impl.HazelcastInstanceFactory.getOrCreateHazelcastInstance(HazelcastInstanceFactory.java:108)
    at com.hazelcast.core.Hazelcast.getOrCreateHazelcastInstance(Hazelcast.java:165)
    at com.intellinx.solutions.infrastructure.cache.configuration.SolutionsHazelcastInstanceLoaderImpl.loadInstance(SolutionsHazelcastInstanceLoaderImpl.java:130)
    at com.hazelcast.hibernate.AbstractHazelcastCacheRegionFactory.start(AbstractHazelcastCacheRegionFactory.java:79)
    at org.hibernate.internal.CacheImpl.<init>(CacheImpl.java:70)
    at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:40)
    at org.hibernate.engine.spi.CacheInitiator.initiateService(CacheInitiator.java:1)
    at org.hibernate.service.internal.SessionFactoryServiceRegistryImpl.initiateService(SessionFactoryServiceRegistryImpl.java:91)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:201)
    ... 41 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.hazelcast.internal.util.ServiceLoader$NewInstanceIterator.next(ServiceLoader.java:291)
    ... 60 more
Caused by: java.lang.NoClassDefFoundError: com/hazelcast/nio/UnsafeHelper
    at com.hazelcast.hibernate.serialization.Hibernate4CacheEntrySerializerHook.<init>(Hibernate4CacheEntrySerializerHook.java:37)
    ... 65 more
Caused by: java.lang.ClassNotFoundException: com.hazelcast.nio.UnsafeHelper
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    ... 66 more

【问题讨论】:

    标签: hibernate hazelcast


    【解决方案1】:

    是否可以使用 hazelcast-hibernate4 3.8.4 升级到 4.0.2?

    hazelcast-hibernate4 不再受支持,无法与 Hazelcast 4.0.x 一起使用。

    如果我必须升级到hazelcast-hibernate5,这迫使我升级休眠核心?

    是的,如果要使用 4.0.x,则需要使用 Hibernate 5。

    然后,根据您选择的版本,您可以使用:

    • hazelcast-hibernate5
    • hazelcast-hibernate52
    • hazelcast-hibernate53

    理想的选择是使用 Hibernate 5.4.x 和 hazelcast-hibernate53。更多关于兼容性的信息can be found in the README file

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多