私が開発しているサーバーには、クライアントから受信したメッセージに基づいて実行するさまざまなタスクがあります。一部のタスクは非常に単純で、実行にほとんど時間がかかりませんが、他のタスクには時間がかかる場合があります。
パイプラインにExecutionHandlerを追加することは、複雑なタスクには良い解決策のように思えますが、単純なタスクをスレッド化することは避けたいと思います。
私のパイプラインは次のようになります。
pipeline.addLast("decoder", new MessageDecoder());
pipeline.addLast("encoder", new MessageEncoder());
pipeline.addLast("executor", this.executionHandler);
pipeline.addLast("handler", new ServerHandler(this.networkingListener));
MessageEncoderはdecode
、要求されたタスクを定義するMessageオブジェクト(for)を返します。
デコードされたメッセージに基づいて実行ハンドラーをスキップする方法はありますか?
質問は次のように一般化できます。次のハンドラーが使用されるかどうかを条件付ける方法はありますか?
ありがとう。