Spring Boot webapp with embedded vertx fails to start

不问归期 提交于 2019-12-12 02:45:46

问题


I am trying to start a Spring Boot webapp(executable war) with embedded clustered vertx. It fails with below exception.

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)

This happens if you have different hazelcast jars in you classpath. But I made sure i don't have any other version. It still fails. I even tried excluding spring-boot HazelcastAutoConfiguration.class which might start its own instance, but still no luck.

Any clue?


回答1:


This workaround seems to be working- Creating a simple GlassFish service to use Hazelcast fails



来源:https://stackoverflow.com/questions/40035844/spring-boot-webapp-with-embedded-vertx-fails-to-start

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!