如果强制关闭,可以使用Apache Daemon重启Java应用程序吗?

时间:2015-10-26 01:27:43

标签: java apache-commons-daemon

我正在研究Apache Daemon以帮助我使用Java应用程序,我只想获得一些关于可能性的想法/提示。

我想创建一个简化的应用程序,它显示某种故障安全功能。应用程序将按顺序执行4个步骤(想象它在每个步骤中打印出一个简单的文本文件只是一个字母,如步骤1是" A",步骤2是" B&# 34;等等),我希望能够强行关闭JVM,然后让它自动重启java应用程序并恢复打印输出(想象它就像一个小孩拉动电视上的插头,它再次打开本身)。

这可以通过Apache Daemon做到吗?如果是这样,我将如何实现自动化?我是否需要在操作系统级别附加一些第三个程序(就像一个本身监视流程的简单C程序?)。

在这个阶段,我只是在寻找指针,因为我意识到我要做的事情并不是很清楚。我更喜欢Windows,但我也有Mac,如果更好的话,我会开放使用Mac(我知道Linux有一些独特的工具/能力)。任何提示/想法赞赏。

So far, I have tried using this tutorial here for help, which has been useful but not as thorough as I need.

1 个答案:

答案 0 :(得分:4)

在Windows上,上次我检查它不是由procrun(commmons-daemon)管理,而是由windows服务管理。

您可能需要在守护程序安装后配置服务恢复

  • sc failure%SERVICE_NAME%reset = 60 actions = restart / 30000
  • sc failureflag%SERVICE_NAME%1

其中%SERVICE_NAME%是...您的服务名称

恢复逻辑应该在您的应用程序中

编辑:添加更多上下文

有关Windows上的服务安装,请参阅https://commons.apache.org/proper/commons-daemon/procrun.html

发出命令时(手动或使用cmd脚本)

前:

* {
    margin:0;
    padding:0;
    font-family:Arial, Helvetica, sans-serif;
}
header {
    height:200px;
    background:#39F;
    z-index:4;
}
#opt-slide {
    width:300px;
    position:relative;
}
#toggle {
    background:#099;
    display:block;
    height:50px;
    color:#FFF;
    line-height:50px;
    z-index:4;
    position:relative;
}
#dropdown {
    background:#0C9;
    list-style:none;
    margin-top:0px;
    z-index:2;
    display:none;
}
#dropdown li {
    height:40px;
    line-height:40px;
}
#dropdown li:hover {
    background:#FAFAFA;
}
#sign{
    width:50px;
    height:25px;
    display:inline-block;
    position:absolute;
    top:25px;
    right:10px;
}
#sign .s{
    width:25px;
    height:4px;
    display:inline-block;
    border-radius:2px;
    background-color:white;
    position:absolute;
}
#sign #s1{
    transform:rotate(45deg);
    z-index:100;
    margin-left:0;
    transition:all 0.5s ease-out;
}
#sign #s2{
    transform:rotate(-45deg);
    z-index:200;
    margin-left:16px;
    transition:all 0.5s ease-in;
}
#sign #s2.close2{
    margin-left:7px;
    transition:all 0.5s ease-out;
}
#sign #s1.close1{
    margin-left:7px;
    transition:all 0.5s ease-out;
}

在服务安装后添加恢复设置

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="opt-slide"> <span id="toggle">OPTIONS<span id="sign"><span id="s1" class="s"></span><span id="s2" class="s"></span></span>
  </span>

  <ul id="dropdown">
    <li>Option 1</li>
    <li>Option 2</li>
    <li>Option 3</li>
    <li>Option 4</li>
    <li>Option 5</li>
  </ul>
</div>