第 16 章 conduits
摘要
不同的是实施出站连接的传输架构的低级别部分。其行为和生命周期可影响系统性能并处理负载。
概述
在 Apache CXF 运行时,管理客户端或出站传输详情。它们负责打开端口、建立出站连接、发送消息和侦听应用程序与单个外部端点之间的任何响应。如果应用程序连接到多个端点,它将为每个端点有一个双重实例。
每种传输类型使用 Conduit 接口实施自己的一致性。这允许应用程序级别功能和传输间的标准化接口。
通常,您只需要在配置客户端传输详情时考虑应用程序所使用的内容。运行时如何处理 conduits 的底层语义是,并非开发人员需要担心的。
但是,当了解 conduit 时,会非常有用:
- 实施自定义传输
- 管理有限资源的高级应用程序调整
conduit 生命周期
conduits 由客户端实施对象管理。创建之后,在客户端实施对象期间持续存在。conduit 的生命周期为:
-
创建客户端实现对象时,会获得对
ConduitSelector
对象的引用。 当客户端需要发送消息时,请求来自 conduit 选择器对 conduit 的引用。
如果消息用于新端点,则 conduit 选择器会创建一个新的 conduit,并将其传递给客户端实施。否则,它会将客户端的引用传递给目标端点的 conduit。
- 在需要时发送信息。
- 当客户端实现对象被销毁时,与其关联的所有步骤都会被销毁。
conduit weight
conduit 对象的 weight 取决于传输实施。HTTP conduits 非常轻便的权重。JMS conduits 非常重,因为它们与 JMS Session
对象和一个或多个 JMSListenerContainer
对象关联。