JRun でカスタム終了ハンドラを実装することによって、OEM ユーザは JRun の終了動作を制御できます。たとえば、JRun の終了やエラーが発生した場合に、独自のエラー メッセージを表示したり、ファイルを消去できます。
既定では、JRun は次の場合に System.exit()
を呼び出します。
通常の終了時には、JRun によって System.exit()
が呼び出されません。jrun.exe (Windows) とシェル スクリプト (UNIX) によってステータス コードがチェックされ、JRun を再起動する必要があるかどうかが判断されます。
OEM ユーザが独自のカスタム終了ハンドラを作成できるように、JRun には OEM ユーザ用の allaire.jrun.JRunExitHandler インターフェイスが含まれています。このインターフェイスには 1 つのメソッドがあります。
void exitJRun(int exitCode)
JRunExitHandler を実装するクラスの新しいインスタンスを生成した後、その JRun クラス上で新しい終了ハンドラを設定できます。このインスタンスは静的なフィールドに格納されるため、特定の時点でアクティブにできる終了ハンドラは 1 つだけです。
import java.io.*;
import allaire.jrun.*; /** * ベース JRunExitHandler クラスを拡張して、終了を無視するための * カスタム実装を行います。 */ public class MyJRun implements JRunExitHandler { public static void main(String[] args) throws IOException { JRun.setExitHandler(new MyJRun()); JRun.main(args); } public void exitJRun(int exitCode) { // 終了条件に対応した終了コードを使用して、 // ここに終了処理コードを記述します。 }}
上記のサンプル クラスでは JRunExitHandler が実装されます。main()
メソッドによってクラスがインスタンス化され、JRun 上で終了ハンドラが設定され、次に JRun が呼び出されます。JRun が異常終了するか、再起動要求を受信すると、JRun の既定の exitJRun()
の代わりに、新規のカスタム exitJRun()
メソッドが呼び出されます。