Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » Mobile Link サーバ管理 » Mobile Link サーバ API » Java による同期スクリプトの作成 » Java 同期論理

 

Java での Mobile Link サーバエラーの処理

ログをスキャンするだけでは不十分な場合は、プログラムによってアプリケーションをモニタリングできます。たとえば、特定のタイプのメッセージを電子メールで送信できます。

ログに出力される各エラーメッセージまたは各警告メッセージを表すクラスに渡されるメソッドを作成することも可能です。この方法は、Mobile Link サーバをモニタおよび監査するのに役立ちます。

次のコードは、すべての警告メッセージ用に LogListener をインストールし、その情報をファイルに書き込みます。



class TestLogListener implements LogListener {
    FileOutputStream _out_file; 

    public TestLogListener(FileOutputStream out_file) {
        _out_file = out_file;
    }

    public void messageLogged(ServerContext sc, LogMessage msg) {
        String  type;
        String  user;

        try {
            if (msg.getType() == LogMessage.ERROR) {
                type = "ERROR";
            } else if (msg.getType() == LogMessage.WARNING) {
                type = "WARNING";
            }
            else {
                type = "UNKNOWN!!!";
            }

            user = msg.getUser();
            if (user == null) {
                user = "NULL";
            }
            _out_file.write(("Caught msg type="
                + type
                + " user=" + user
                + " text=" + msg.getText()
                + "\n").getBytes()
            );
            _out_file.flush();
        }
        catch(Exception e) {
            // Print some error output to the MobiLink log.
            e.printStackTrace();
        }
    }
}

次のコードは TestLogListener を登録して、警告メッセージを受信します。クラスコンストラクタや同期スクリプトなど、ServerContext にアクセスできる任意の場所からこのコードを呼び出してください。

// ServerContext serv_context;
serv_context.addWarningListener(
      new MyLogListener(ll_out_file)
);
 参照