如果 Java 应用程序被强行关闭,是否可以使用 Apache Daemon 重新启动它?
Can Apache Daemon be used to restart a Java application if it is forcibly shutdown?
我正在研究 Apache Daemon 来帮助我开发 Java 应用程序,我只是想了解一些 ideas/hints 的可能性。
我想创建一个显示某种故障保护能力的简化应用程序。该应用程序将按顺序执行 4 个步骤(假设它在每个步骤中打印一个简单的文本文件只是一个字母,例如第 1 步是 "A",第 2 步是 "B" 等),我希望能够强行关闭 JVM,然后让它自动重启 java 应用程序并恢复打印输出(想象一下 child 拔掉电视的插头然后它打开又是自己)。
这可以通过 Apache Daemon 完成吗?如果是这样,我将如何自动化?我是否需要在 operating-system 级别附加一些 third-program(就像一个简单的 C 程序本身监控流程?)。
在这个阶段我只是在寻找指点,因为我意识到我并不清楚我会做什么。我更喜欢 Windows,但我也有一个 Mac,如果更好的话,我愿意使用 Mac(我知道 Linux 有一些独特的 tools/abilities ).任何 tips/ideas 表示赞赏。
在 windows,上次我检查它不是由 procrun(commmons-daemon)管理,而是由 windows 服务管理。
您可能需要在守护程序安装后配置服务恢复
- sc 失败 %SERVICE_NAME% reset= 60 actions= restart/30000
- sc 故障标志 %SERVICE_NAME% 1
其中 %SERVICE_NAME% 是...您的服务名称
简历逻辑应该在您的应用程序中
编辑:添加更多上下文
windows
上的服务安装见https://commons.apache.org/proper/commons-daemon/procrun.html
发出命令时(手动或使用 cmd 脚本)
例如:
set SERVICE_NAME=myService
prunsrv //IS//%SERVICE_NAME% --DisplayName="Test Service" \
--Install=prunsrv.exe --Jvm=auto --StartMode=jvm --StopMode=jvm \
--StartClass=org.apache.SomeStartClass --StartParams=arg1;arg2;arg3 \
--StopClass=org.apache.SomeStopClass --StopParams=arg1#arg2
安装服务后添加恢复设置
前
sc failure %SERVICE_NAME% reset= 60 actions= restart/30000
sc failureflag %SERVICE_NAME% 1
我正在研究 Apache Daemon 来帮助我开发 Java 应用程序,我只是想了解一些 ideas/hints 的可能性。
我想创建一个显示某种故障保护能力的简化应用程序。该应用程序将按顺序执行 4 个步骤(假设它在每个步骤中打印一个简单的文本文件只是一个字母,例如第 1 步是 "A",第 2 步是 "B" 等),我希望能够强行关闭 JVM,然后让它自动重启 java 应用程序并恢复打印输出(想象一下 child 拔掉电视的插头然后它打开又是自己)。
这可以通过 Apache Daemon 完成吗?如果是这样,我将如何自动化?我是否需要在 operating-system 级别附加一些 third-program(就像一个简单的 C 程序本身监控流程?)。
在这个阶段我只是在寻找指点,因为我意识到我并不清楚我会做什么。我更喜欢 Windows,但我也有一个 Mac,如果更好的话,我愿意使用 Mac(我知道 Linux 有一些独特的 tools/abilities ).任何 tips/ideas 表示赞赏。
在 windows,上次我检查它不是由 procrun(commmons-daemon)管理,而是由 windows 服务管理。
您可能需要在守护程序安装后配置服务恢复
- sc 失败 %SERVICE_NAME% reset= 60 actions= restart/30000
- sc 故障标志 %SERVICE_NAME% 1
其中 %SERVICE_NAME% 是...您的服务名称
简历逻辑应该在您的应用程序中
编辑:添加更多上下文
windows
上的服务安装见https://commons.apache.org/proper/commons-daemon/procrun.html发出命令时(手动或使用 cmd 脚本)
例如:
set SERVICE_NAME=myService
prunsrv //IS//%SERVICE_NAME% --DisplayName="Test Service" \
--Install=prunsrv.exe --Jvm=auto --StartMode=jvm --StopMode=jvm \
--StartClass=org.apache.SomeStartClass --StartParams=arg1;arg2;arg3 \
--StopClass=org.apache.SomeStopClass --StopParams=arg1#arg2
安装服务后添加恢复设置
前
sc failure %SERVICE_NAME% reset= 60 actions= restart/30000
sc failureflag %SERVICE_NAME% 1