第 16 章 conduits

摘要

不同的是实施出站连接的传输架构的低级别部分。其行为和生命周期可影响系统性能并处理负载。

概述

在 Apache CXF 运行时,管理客户端或出站传输详情。它们负责打开端口、建立出站连接、发送消息和侦听应用程序与单个外部端点之间的任何响应。如果应用程序连接到多个端点,它将为每个端点有一个双重实例。

每种传输类型使用 Conduit 接口实施自己的一致性。这允许应用程序级别功能和传输间的标准化接口。

通常,您只需要在配置客户端传输详情时考虑应用程序所使用的内容。运行时如何处理 conduits 的底层语义是,并非开发人员需要担心的。

但是,当了解 conduit 时,会非常有用:

  • 实施自定义传输
  • 管理有限资源的高级应用程序调整

conduit 生命周期

conduits 由客户端实施对象管理。创建之后,在客户端实施对象期间持续存在。conduit 的生命周期为:

  1. 创建客户端实现对象时,会获得对 ConduitSelector 对象的引用。
  2. 当客户端需要发送消息时,请求来自 conduit 选择器对 conduit 的引用。

    如果消息用于新端点,则 conduit 选择器会创建一个新的 conduit,并将其传递给客户端实施。否则,它会将客户端的引用传递给目标端点的 conduit。

  3. 在需要时发送信息。
  4. 当客户端实现对象被销毁时,与其关联的所有步骤都会被销毁。

conduit weight

conduit 对象的 weight 取决于传输实施。HTTP conduits 非常轻便的权重。JMS conduits 非常重,因为它们与 JMS Session 对象和一个或多个 JMSListenerContainer 对象关联。