229.6. 完了後にチャンネルを閉じる


サーバーとして動作する場合は、クライアント変換の完了時にチャネルを閉じる必要がある場合があります。
これは、endpoint オプション disconnect=true を設定するだけで実行できます。

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

from("netty4:tcp://localhost: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.