Wildfly:在群集上进行单例部署选择服务器组中的两台服务器

时间:2020-02-26 07:36:37

标签: jboss singleton wildfly wildfly-cluster wildfly-16

这种情况并非每次都发生,而是多次。

  • 3个服务器组群集
  • Wildfly 16

从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-> singleton-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?或两个集群之间的通信?

1 个答案:

答案 0 :(得分:1)

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