240.8. 完了時にチャネルを閉じる


サーバーとして機能している場合、たとえばクライアントの変換が終了したときにチャネルを閉じたい場合があります。
これは、エンドポイントオプションの disconnect=true を設定するだけで実行できます。

ただし、次のようにメッセージごとに Camel に指示することもできます。
Camel にチャネルを閉じるように指示するには、キー CamelNettyCloseChannelWhenComplete をブール値 true に設定したヘッダーを追加する必要があります。
たとえば、次の例では、bye メッセージをクライアントに書き戻した後にチャネルを閉じます。

        from("netty:tcp://0.0.0.0:8080").process(new Processor() {
            public void process(Exchange exchange) throws Exception {
                String body = exchange.getIn().getBody(String.class);
                exchange.getOut().setBody("Bye " + body);
                // some condition which determines if we should close
                if (close) {
                    exchange.getOut().setHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, true);
                }
            }
        });
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.