Je dois exécuter des localisateurs et des services sur deux serveurs Windows W2K8. Normalement, j'utilise nssm pour exécuter des applications Java en appelant leur appel java -jar
respectif de nssm. Mais Geode utilise gfsh.Méthode recommandée pour exécuter Apache Geode en tant que service sous Windows
Quelle est la meilleure pratique? On pourrait utiliser le API pour frayer une instance et exécuter les commandes de démarrage nécessaires:
commandService = CommandService.createLocalCommandService(cache);
CommandStatement showDeadLocksCmdStmt = commandService.createCommandStatement
("start locator ...");
if (showDeadlocksResult.hasIncomingFiles()) {
showDeadlocksResult.saveIncomingFiles(System.getProperty("user.dir") +
"/commandresults");
}
Ou on pourrait imiter le comportement de gfsh.bat
et de créer un service de NSSM pour chaque fonctionnalité (localisateur et serveur) qui exécute le même lot ne et passer la commande nécessaire:
java -Dgfsh=true -Dlog4j.configurationFile=classpath:log4j2-cli.xml -classpath C:\dev\apache-geode-1.1.1\lib\gfsh-dependencies.jar org.apache.geode.management.internal.cli.Launcher start locator ...
A en juger par this question de le faire gfsh
y est recommandé