46.8. 完成后关闭频道


当作为服务器使用时,有时希望关闭频道,例如,客户端转换已完成。
您可以通过设置 endpoint 选项 disconnect=true 来完成此操作。

但是,您也可以按如下方式指示 Camel 按每个消息:
要指示 Camel 关闭频道,您应该添加一个带有键 CamelNettyCloseChannelWhenComplete 的标头,设置为布尔值。
例如,以下示例将在将信息写入客户端后关闭频道:

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);
        }
    }
});
Copy to Clipboard Toggle word wrap

添加自定义频道管道工厂以完全控制创建的管道。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat