Hazelcast端口没有被杀死

时间:2016-04-30 09:43:18

标签: java-ee hazelcast weblogic12c

在我们的应用程序中,Hazelcast初始化为服务器(Weblogic 12C)的一部分,在服务器关闭期间调用启动和关闭。

在关机时,我们使用以下代码: hz.getLifecycleService()shutdown()方法。

在服务器启动期间,我们收到以下异常 严重:端口[6713]已被使用,自动增量被禁用。 Hazelcast无法启动

因此,重新启动我们的部署无效。

解决方法:作为解决方法,我们需要终止进程并重新启动服务器。不是一个理想的解决方法 是否有一些设置要在操作系统级别完成?

如果有人遇到此问题,请帮助我们解决。

java.net.BindException: Address already in use
    at sun.nio.ch.Net.bind0(Native Method)
    at sun.nio.ch.Net.bind(Net.java:463)
    at sun.nio.ch.Net.bind(Net.java:455)
    at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
    at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
    at com.hazelcast.impl.AddressPicker.pickAddress(AddressPicker.java:85)
    at com.hazelcast.impl.Node.<init>(Node.java:142)
    at com.hazelcast.impl.FactoryImpl.<init>(FactoryImpl.java:386)
    at com.hazelcast.impl.FactoryImpl.newHazelcastInstanceProxy(FactoryImpl.java:133)
    at com.hazelcast.impl.FactoryImpl.newHazelcastInstanceProxy(FactoryImpl.java:119)
    at com.hazelcast.impl.FactoryImpl.newHazelcastInstanceProxy(FactoryImpl.java:104)
    at com.hazelcast.core.Hazelcast.newHazelcastInstance(Hazelcast.java:507)

1 个答案:

答案 0 :(得分:0)

发生这种异常是因为前一个节点没有正常关闭并且可能处于挂起状态。

尝试在另一个线程中添加一个shutdown hook,以便正常关闭。在方法中添加以下代码片段,并在启动节点时调用它。

Runtime
.getRuntime()
    .addShutdownHook(new Thread(() -> hazelcastInstance.getLifecycleService().shutdown()));