0

次のコードを使用して、メッセージ ACK を生成しています。

public static Message process(Message in) throws Exception {     
        ADTReceiverQueue.getInstance().submit(in);
        Message out =  in.generateACK();
        return out;
    }
}

これにより、次の警告が生成されます。

FileBasedGenerator         - Could not write ID to file /var/lib/tomcat7/./id_file, going to use internal ID generator. /var/lib/tomcat7/./id_file (Permission denied)

明らかに、警告を削除する権限を設定できますが、Hapi に内部 ID ジェネレーターまたは ID がデータベースに格納されているジェネレーターを使用するように指示する方法を知りたいですか?

4

1 に答える 1

2

HAPI は、ID 生成のさまざまな実装を提供するIDGeneratorインターフェースを提供します。そのクラスの JavaDoc を見ると、ID 生成を行うためのさまざまなオプションがたくさんあり、自分で作成することもできます。

実際に ID ジェネレーターを設定するのは簡単です。コンテキストに格納されている ParserConfiguration に設定するだけです。

    HapiContext ctx = new DefaultHapiContext();
    ctx.getParserConfiguration().setIdGenerator(new FileBasedHiLoGenerator());

そのコンテキスト オブジェクトを使用してサーバーを作成する場合は完了です。そうでない場合は、ACK を生成する前に受信メッセージに明示的に設定できます。

    in.setParser(ctx.getPipeParser());

-ジェームズ

于 2014-12-17T16:27:11.890 に答える