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