首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wildfly拓扑领事-关机时多次注销

Wildfly拓扑领事-关机时多次注销
EN

Stack Overflow用户
提问于 2017-06-08 14:56:21
回答 0查看 152关注 0票数 0

我使用带有consul拓扑的swarm构建了一个with服务。该服务可用于多个“通道”,因此在启动时,我将每个通道的服务通告给拓扑,如下所示:

代码语言:javascript
复制
protected void startup(@Observes @Initialized(ApplicationScoped.class) Object ignore) {
    for (Channel channel : activeChannels) {
        // do some init stuff

        Topology.lookup().advertise(buildUniqueName(channel.name()));
    }
}

这工作得很好,我可以在我的领事网络中看到每个服务都有正确的名称,id和检查。

但现在,当我停止服务器时,它会尝试自动取消注册每个服务几次(最多5次)。您可以看到在日志文件中滚动,然后服务器就挂起,异常开始滚动:

代码语言:javascript
复制
INFO  [org.wildfly.swarm.topology.consul.runtime.Advertiser] (MSC service thread 1-2) Deregister service service-name:<ip-and-port>
INFO  [org.wildfly.swarm.topology.consul.runtime.Advertiser] (MSC service thread 1-6) Deregister service service-name:<ip-and-port>
INFO  [org.wildfly.swarm.topology.consul.runtime.Advertiser] (MSC service thread 1-4) Deregister service service-name:<ip-and-port>
INFO  [org.wildfly.swarm.topology.consul.runtime.Advertiser] (MSC service thread 1-5) Deregister service service-name:<ip-and-port>
INFO  [org.wildfly.swarm.topology.consul.runtime.Advertiser] (MSC service thread 1-1) Deregister service service-name:<ip-and-port>


ERROR [org.wildfly.swarm.topology] (Thread-26) WFSTOPO0002: Client not registered: [Registration: service-name; <ip-and-port>; [[http]]].: com.orbitz.consul.NotRegisteredException
        at com.orbitz.consul.AgentClient.check(AgentClient.java:404)
        at com.orbitz.consul.AgentClient.checkTtl(AgentClient.java:420)
        at com.orbitz.consul.AgentClient.pass(AgentClient.java:427)
        at org.wildfly.swarm.topology.consul.runtime.Advertiser.lambda$run$2(Advertiser.java:115)
        at java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3527)
        at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
        at org.wildfly.swarm.topology.consul.runtime.Advertiser.run(Advertiser.java:113)
        at java.lang.Thread.run(Thread.java:748)

这是可以理解的。然而,问题是服务器在之后没有完成关机过程。它就挂起来了。

这是wildfly-swarm中的一个bug,还是我必须使用不同的拓扑通告?

Wildfly swarm version 2017.5.0使用了分数拓扑--consul、jaxrs、cdi、jpa、logging、swagger war包,没有主类

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44428692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档