17.18. PAYLOAD 模式中的流支持


现在,在使用 PAYLOAD 模式时,camel-cxf 组件支持流传输传入的信息。在以前的版本中,传入的信息将完全解析 DOM。对于大型消息,这是消耗时间并使用大量内存。在进行路由时,传入消息可以保留为 javax.xml.transform.Source,如果没有修改载荷,则可以直接流传输到目标目的地。对于常见的"simple proxy"用例(例如: from ("cxf:…​").to ("cxf:…​"),这可能会造成非常显著的性能增加,并显著降低了内存要求。

然而,在有些情况下,流可能并不合适或需要。由于流化性质,在稍后处理链中之前,无效的传入 XML 可能无法捕获。另外,某些操作可能需要消息为 DOM 解析任何方式(如 WS-Security 或消息追踪),在这种情况下,流的优点有限。此时,可以通过两种方式控制流:

  • endpoint 属性:您可以添加 "allowStreaming=false" 作为端点属性,来打开流 on/off。
  • 组件属性:CxfComponent 对象也有一个 allowStreaming 属性,可以为从该组件创建的端点设置默认值。

全局系统属性:您可以将 "org.apache.camel.component.cxf.streaming" 的系统属性添加到 "false" 以将其关闭。这会设置全局默认值,但设置上面的 endpoint 属性将覆盖该端点的这个值。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat