第 16 章 conduits

摘要

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

概述

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

每个传输类型都使用 Conduit 接口来实施自己的 conduit。这样,在应用程序级别功能和传输之间实现了标准化接口。

通常,在配置客户端传输详细信息时,您只需要担心应用程序所使用的 conduit。运行时如何处理 conduit 的基本语义,通常是开发人员需要担心的。

但是,了解相应行为可能会有帮助的情况:

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

conduit 生命周期

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

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

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

  3. 在需要时,conduit 会发送消息。
  4. 当客户端实施对象被销毁时,与它关联的所有行为都会被销毁。

conduit weight

conduit 对象的权重取决于传输的实现。HTTP conduits 非常轻巧。JMS conduits 非常重,因为它们与 JMS Session 对象相关联,以及一个或多个 JMSListenerContainer 对象。