ドメイン内に2つのWildflyサーバが設定されており、HAで動作するシングルトンを作成する必要があります。私はそれが1つのサーバーでのみ実行する必要があり、そのサーバーが失敗した場合はスレーブサーバーで起動する必要があります。 私はdefult設定を使用しています。私はWAR内に "/META-INF/singleton-deployment.xml"を作成しました。 WARをデプロイすると、両方のサーバーで起動します。 1つだけではありません。何が欠けている? domain.xmlで何かを編集する必要がありますか?Wildfly 10.1.0シングルトンが動作しない
私のシングルトンが唯一のちょうどテストのために、ログファイルとコンソールにテキストを書き込みます。
import java.net.InetAddress;
import java.net.UnknownHostException;
import javax.ejb.ConcurrencyManagement;
import javax.ejb.ConcurrencyManagementType;
import javax.ejb.Schedule;
import javax.ejb.Singleton;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
@Singleton
public class TesteAPP {
final Logger logger = LogManager.getLogger(TesteAPP.class);
@Schedule(second = "*/1", minute = "*", hour = "*", persistent = false)
public void executaTarefa() {
try {
logger.log(Level.INFO, "Tarefa executada com sucesso! Nome da máquina: {} Endereço da máquina: {}",
InetAddress.getLocalHost().getHostName(),
InetAddress.getLocalHost().getHostAddress());
System.out.println(String.format("Tarefa executada com sucesso! Nome da máquina: %s Endereço da máquina: %s",
InetAddress.getLocalHost().getHostName(),
InetAddress.getLocalHost().getHostAddress()));
} catch (UnknownHostException e) {
logger.log(Level.ALL, "Tarefa executada com sucesso!");
System.out.println(String.format("Tarefa executada com sucesso!"));
}
}
}
パッケージはお忘れですか? – igilfanov