0

我需要在两台 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建议这样做

4

1 回答 1

0

它在配置和运行集群中说使用gfsh是管理 Geode 的推荐方法。就像定位器和服务器是由然后在后台运行的 Java 进程一样,gfsh无论操作系统是什么。毕竟,这就是 Java 的意义所在。所以对我来说,这也适用于 Windows,不需要一些单独的 Windows 服务来管理 Java 进程,你可以使用gfsh......它只是一个像任何其他 Geode 客户端一样连接到定位器的外壳,并且一旦 Geode 正在运行外壳可以关闭、保持打开、迪斯科、重新连接等。

于 2017-10-04T08:15:00.577 回答