5

私は Java アプリケーションを支援するために Apache Daemon を調べていますが、可能なことについていくつかのアイデアやヒントを得たいと思っていました。

ある種のフェイルセーフ機能を示す単純化されたアプリケーションを作成したいと考えています。アプリケーションは 4 つのステップを順番に実行します (ステップ 1 が "A"、ステップ 2 が "B" などのように、各ステップで文字だけの単純なテキスト ファイルに出力されると想像してください)。 JVM を強制的にシャットダウンし、Java アプリケーションを自動的に再起動して、印刷を再開できるようにします (子供がテレビのプラグを抜くと、自動的に再びオンになると想像してください)。

これは Apache Daemon 経由で実行できますか? もしそうなら、どうすればそれを自動化できますか?オペレーティング システム レベルでサード プログラムをアタッチする必要がありますか (フローを監視する単純な C プログラムなど)。

この段階では、私が何をするかがはっきりしていないことに気付いたので、ただ指針を探しているだけです。私は Windows の方が好みですが、Mac も持っているので、Mac の方が優れていれば、Mac を使用することもできます (Linux にはいくつかの独自のツール/機能があることを知っています)。ヒントやアイデアをいただければ幸いです。

これまでのところ、このチュートリアルをヘルプとして使用してみましたが、これは役に立ちましたが、必要なほど完全ではありませんでした.

4

1 に答える 1

6

Windows では、前回確認したところ、procrun (commons-daemon) ではなく、Windows サービス管理によって管理されていました。

おそらく、デーモンのインストール後にサービスの回復を構成する必要があります

  • sc 失敗 %SERVICE_NAME% リセット = 60 アクション = 再起動/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
于 2015-11-25T14:11:36.507 に答える