hibernate - Hazelcast 4.0.2 和 hazelcast hibernate4 3.8.4 之间的接口
问题描述
我想将 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
解决方案
是否可以使用 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
. 更多关于兼容性的信息可以在 README 文件中找到。
推荐阅读
- javascript - 清理函数?
- authentication - 无需登录即可刷新 Facebook 长寿命令牌
- python - 如何在python中创建由矩阵组成的列表?
- php - laravel8:此集合实例上不存在
- c# - 是否可以为事件处理程序声明全局变量?
- sql-server - 如何在 Azure 管道集成测试中更改 sql server 版本?
- elasticsearch - 如何将嵌套对象中的字段从嵌套对象中移出到弹性索引中的单独对象中
- c - C:如何解释包含 2 个结构对象的联合?ULARGE_INTEGER
- flutter - 在颤动中获取当前电话号码
- sql - 搜索 MySQL8 参考手册中使用的示例数据库