我需要在两台 W2K8 Windows 服务器上运行定位器和服务。通常,我使用nssmjava -jar
通过从 nssm调用它们各自的调用来运行基于 Java 的应用程序。但是 Geode 使用 gfsh。
最佳做法是什么?可以使用API生成一个实例并运行必要的启动命令:
commandService = CommandService.createLocalCommandService(cache);
CommandStatement showDeadLocksCmdStmt = commandService.createCommandStatement
("start locator ...");
if (showDeadlocksResult.hasIncomingFiles()) {
showDeadlocksResult.saveIncomingFiles(System.getProperty("user.dir") +
"/commandresults");
}
或者可以模仿每个功能(定位器和服务器)的行为gfsh.bat
并为每个功能(定位器和服务器)创建一个 NSSM 服务,该服务运行与批处理相同并传递必要的命令:
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 ...
从这个问题来看,gfsh
建议这样做