Wildfly:集群上的单例部署 |在服务器组中选举两台服务器

Wildfly : Singleton Deployment on Cluster | Elects two servers in Server Group

这种情况不会一直发生,但会发生很多次。

从 UI 部署 .war。它在一台服务器上选择得很好::

2020-02-26 07:21:12,951 INFO  [org.wildfly.clustering.server] (LegacyDistributedSingletonService - 1) WFLYCLSV0003: alp-esb-app02:servicedesk-02 elected as the singleton provider of the jboss.deployment.unit."Now-1.11-SNAPSHOT.war".installer service
2020-02-26 07:21:13,115 INFO  [org.jboss.as.server] (ServerService Thread Pool -- 26) WFLYSRV0010: Deployed "Now-1.11-SNAPSHOT.war" (runtime-name : "Now-1.11-SNAPSHOT.war")
2020-02-26 07:21:14,133 INFO  [org.wildfly.clustering.server] (LegacyDistributedSingletonService - 1) WFLYCLSV0001: This node will now operate as the singleton provider of the jboss.deployment.unit."Now-1.11-SNAPSHOT.war".installer service

但我下次禁用-启用或部署:它在两个服务器中显示相同的日志。

有一个运行两次的调度程序正在破坏包含重复项的数据库。

需要重新部署并重新部署并检查日志何时正常,即只选择了一台服务器。

项目结构:

webapp -> Meta INF -> 单例-deployment.xml

<?xml version="1.0" encoding="UTF-8"?>
<singleton-deployment xmlns="urn:jboss:singleton-deployment:1.0"/>

调度程序启动如下:

@Startup
@Singleton
@AccessTimeout(value = 30, unit = TimeUnit.MINUTES)
public class SnowPollerNew {

关于为什么它运行良好但多次运行不正常的任何建议。

是否链接到 JGroups?或者两个集群之间的通信?

您需要确保服务器正确构建集群。 我还记得单身选举的一些问题 (WFLY-11619)。 我想这在 WildFly 18 上是不可重现的。