2016-10-14 4 views
0

Я пытаюсь запустить Spring Boot webapp (исполняемый war) со встроенным кластеризованным vertx. Он не работает с нижеследующим исключением.Spring Boot webapp со встроенным vertx не запускается

java.lang.IllegalArgumentException: PortableFactory[-14] is already registered! com.hazelcas[email protected]738ae532 -> com.hazelcas[email protected]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) 

Это случается, если у вас есть разные банки ящерицы в вашем пути к классам. Но я убедился, что у меня нет другой версии. Он все еще не работает. Я даже попытался исключить весеннюю загрузку HazelcastAutoConfiguration.class, которая может начать свой собственный экземпляр, но все равно не повезло.

Любой ключ?

+0

Вы можете начать кластерный Vert.x экземпляр повторного использования экземпляра Hazelcast предоставляемых Spring ботинок. Посмотрите на http://vertx.io/docs/vertx-hazelcast/java/#_using_an_existing_hazelcast_cluster для получения более подробной информации – tsegismont

+0

К сожалению, это не прямо для нас, потому что вся конфигурация, связанная с кластером, находится в другом проекте, который используется другими приложениями , – darwinbaisa

ответ