带有嵌入式顶点的Spring Boot webapp无法启动



我正在尝试启动一个Spring Boot webapp(可执行的战争)与嵌入式集群顶点。它失败,异常如下。

java.lang.IllegalArgumentException: PortableFactory[-14] is already registered! com.hazelcast.concurrent.countdownlatch.client.CountDownLatchPortableHook$1@738ae532 -> com.hazelcast.concurrent.countdownlatch.client.CountDownLatchPortableHook$1@60d09d45
    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:126)
    at com.hazelcast.nio.serialization.DefaultSerializationServiceBuilder.createSerializationService(DefaultSerializationServiceBuilder.java:221)
    at com.hazelcast.nio.serialization.DefaultSerializationServiceBuilder.build(DefaultSerializationServiceBuilder.java:194)
    at com.hazelcast.instance.DefaultNodeExtension.createSerializationService(DefaultNodeExtension.java:113)
    at com.hazelcast.instance.Node.<init>(Node.java:160)
    at com.hazelcast.instance.HazelcastInstanceImpl.<init>(HazelcastInstanceImpl.java:120)
    at com.hazelcast.instance.HazelcastInstanceFactory.constructHazelcastInstance(HazelcastInstanceFactory.java:151)
    at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:134)
    at com.hazelcast.instance.HazelcastInstanceFactory.newHazelcastInstance(HazelcastInstanceFactory.java:110)
    at com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:58)
    at io.vertx.spi.cluster.hazelcast.HazelcastClusterManager.lambda$join$0(HazelcastClusterManager.java:138)
    at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$1(ContextImpl.java:259)
    at io.vertx.core.impl.OrderedExecutorFactory$OrderedExecutor.lambda$new$0(OrderedExecutorFactory.java:94)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

如果您的类路径中有不同的hazelcast jar,就会发生这种情况。但我确保我没有其他版本。它仍然失败了。我甚至尝试排除春季启动HazelcastAutoConfiguration.class,它可能会启动自己的实例,但仍然没有运气。

什么线索吗?

这个解决方案似乎正在工作创建使用Hazelcast的简单GlassFish服务失败

最新更新