Java 将hazelcast升级为>;3.2.5结果:PortableFactory[-19]已注册

Java 将hazelcast升级为>;3.2.5结果:PortableFactory[-19]已注册,java,hazelcast,Java,Hazelcast,当我在pom.xml中使用hazelcast 3.2.5时,一切都很好。但是,当我将hazelcast版本更改为3.3.1或3.4时,将出现以下错误 谷歌搜索这个错误消息并没有给我任何提示。那么,您以前看过此消息吗?我如何修复此消息 java.lang.IllegalArgumentException: PortableFactory[-19] is already registered! com.hazelcast.client.txn.ClientTxnPortableHook$1@2cb4

当我在pom.xml中使用hazelcast 3.2.5时,一切都很好。但是,当我将hazelcast版本更改为3.3.1或3.4时,将出现以下错误

谷歌搜索这个错误消息并没有给我任何提示。那么,您以前看过此消息吗?我如何修复此消息

java.lang.IllegalArgumentException: PortableFactory[-19] is already registered! com.hazelcast.client.txn.ClientTxnPortableHook$1@2cb4c3ab -> com.hazelcast.transaction.client.ClientTxnPortableHook$1@13c78c0b
    at com.hazelcast.nio.serialization.PortableHookLoader.register(PortableHookLoader.java:84)
    at com.hazelcast.nio.serialization.PortableHookLoader.load(PortableHookLoader.java:51)
    at com.hazelcast.nio.serialization.PortableHookLoader.<init>(PortableHookLoader.java:41)
    at com.hazelcast.nio.serialization.SerializationServiceImpl.<init>(SerializationServiceImpl.java:85)
    at com.hazelcast.nio.serialization.SerializationServiceBuilder.build(SerializationServiceBuilder.java:174)
    at com.hazelcast.instance.Node.<init>(Node.java:158)
    at com.hazelcast.instance.HazelcastInstanceImpl.<init>(HazelcastInstanceImpl.java:95)
    at com.hazelcast.instance.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:147)
    at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:130)
    at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:107)
    at com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:87)
    at kic.engine.main.MQLFactory.getHazelcastInstance(MQLFactory.java:54)
    at kic.engine.v3.gramar.ParserTest.testConfig(ParserTest.java:19)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
java.lang.IllegalArgumentException:PortableFactory[-19]已注册!com.hazelcast.client.txn.ClientTxnPortableHook$1@2cb4c3ab->com.hazelcast.transaction.client.ClientTxnPortableHook$1@13c78c0b
位于com.hazelcast.nio.serialization.PortableHookLoader.register(PortableHookLoader.java:84)
位于com.hazelcast.nio.serialization.PortableHookLoader.load(PortableHookLoader.java:51)
位于com.hazelcast.nio.serialization.PortableHookLoader.(PortableHookLoader.java:41)
位于com.hazelcast.nio.serialization.SerializationServiceImpl.(SerializationServiceImpl.java:85)
位于com.hazelcast.nio.serialization.SerializationServiceBuilder.build(SerializationServiceBuilder.java:174)
在com.hazelcast.instance.Node.(Node.java:158)
位于com.hazelcast.instance.HazelcastInstanceImpl.(HazelcastInstanceImpl.java:95)
位于com.hazelcast.instance.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:147)
位于com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:130)
位于com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:107)
位于com.hazelcast.core.hazelcast.newHazelcastInstance(hazelcast.java:87)
位于kic.engine.main.MQLFactory.getHazelcastInstance(MQLFactory.java:54)
位于kic.engine.v3.gramar.ParserTest.testConfig(ParserTest.java:19)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于org.junit.runners.model.FrameworkMethod$1.runReflectVeCall(FrameworkMethod.java:47)
位于org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
位于org.junit.runners.model.FrameworkMethod.invokeeexplosive(FrameworkMethod.java:44)
位于org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
位于org.junit.internal.runners.statements.runafter.evaluate(runafter.java:27)
位于org.junit.runners.ParentRunner.run(ParentRunner.java:309)
位于org.junit.runner.JUnitCore.run(JUnitCore.java:160)
位于com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74)
位于com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211)
位于com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
位于com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

我想我已经在类路径中找到了问题。我的ide在类路径中同时包含hazelcasts 3.2.5和3.4。通常我的ide比我的小,但这次不是:-)

19 afaik表示一个内部便携式工厂(所以我们有一个)。因此,我觉得得到这个特殊的例外情况很奇怪,因为这意味着我们正在不止一次地注册我们自己的工厂。你能创建一个复制异常的单元测试吗?我看到您已经在使用单元测试,因此可能足以复制/粘贴您所拥有的内容,以便我们可以查看它。@pveentjer-Hmmm我的项目中一定有一些奇怪的东西。当我把所有的东西都放到一个新的项目中,只要包含测试,hazelcast就会很好的开始。。。现在情况更糟了:-)