4.5. WS-ReliableMessaging


WS-ReliableMessaging (WS-RM)是一种协议,可确保在分布式环境中提供信息的可靠,即使存在软件、系统或网络故障。

此扩展提供 CXF 框架的 WS-ReliableMessaging 实施。

4.5.1. Maven 协调

code.quarkus.redhat.com 上使用 quarkus-cxf-rt-ws-rm 创建新项目,或将这些协调添加到现有项目中:

<dependency>
    <groupId>io.quarkiverse.cxf</groupId>
    <artifactId>quarkus-cxf-rt-ws-rm</artifactId>
</dependency>

4.5.2. 支持的标准

4.5.3. 使用方法

一旦应用程序依赖于 quarkus-cxf-rt-ws-rm,为 application.properties 中定义的所有客户端和服务端点启用 WS-RM。这是因为 quarkus.cxf.client."client-name".rm.enabledquarkus.cxf.endpoint."/endpoint-path".rm.enabled 属性默认为 true

为客户端或服务端点启用 WS-RM 意味着 WS-RM 拦截器 将添加到给定的客户端或端点中。

除了以下 WS-Addressing 选项外,您还可以设置 下面 记录的一些选项和/或以下 WS-Addressing 选项:

4.5.3.1. runnable 示例

有一个集成测试,涵盖 WS-RM,其使用 Quarkus CXF 源树中的分离端点。

它被分成两个独立的应用程序,它们相互通信:

要运行它,您需要首先将服务器安装到本地 Maven 存储库中

$ cd test-util-parent/test-ws-rm-server-jvm
$ mvn clean install

然后,您可以运行在 client 模块中实施 的测试场景

$ cd ../../integration-tests/ws-rm-client
$ mvn clean test

您应该在控制台中看到 SOAP 消息在客户端、服务器和分离的端点之间交换。

4.5.4. 配置

lock 在构建时修复的配置属性。所有其他配置属性可在运行时覆盖。

Expand
配置属性类型default

quarkus.cxf.rm.namespace

string

http://schemas.xmlsoap.org/ws/2005/02/rm

WS-RM 版本命名空间: http://schemas.xmlsoap.org/ws/2005/02/rm/http://docs.oasis-open.org/ws-rx/wsrm/200702

环境变量:QUARKUS_CXF_RM_NAMESPACE
Since Quarkus CXF: 2.7.0

quarkus.cxf.rm.wsa-namespace

string

http://schemas.xmlsoap.org/ws/2004/08/addressing

WS-寻址版本命名空间: http://schemas.xmlsoap.org/ws/2004/08/addressinghttp://www.w3.org/2005/08/addressing。请注意,除非使用 http://schemas.xmlsoap.org/ws/2005/02/rm/ RM 命名空间,否则此属性会被忽略。

环境变量:QUARKUS_CXF_RM_WSA_NAMESPACE
Since Quarkus CXF: 2.7.0

quarkus.cxf.rm.inactivity-timeout

long

 

在那时段内没有消息(包括确认和其他控制消息)在发送者和接收器之间交换时,之后相关的序列将关闭的时间,以毫秒为单位。如果没有设置,则相关的序列永远不会因为不活跃而关闭。

环境变量:QUARKUS_CXF_RM_INACTIVITY_TIMEOUT
Since Quarkus CXF: 2.7.0

quarkus.cxf.rm.retransmission-interval

long

3000

连续尝试重新发送未被接收器确认的消息之间的持续时间(毫秒)。

环境变量:QUARKUS_CXF_RM_RETRANSMISSION_INTERVAL
Since Quarkus CXF: 2.7.0

quarkus.cxf.rm.exponential-backoff

布尔值

false

如果为 true,则重新传输间隔会在每次传输尝试时加倍,否则重新传输间隔将等于 quarkus.cxf.rm.retransmission-interval

环境变量:QUARKUS_CXF_RM_EXPONENTIAL_BACKOFF
Since Quarkus CXF: 2.7.0

quarkus.cxf.rm.acknowledgement-interval

long

 

一个持续时间(毫秒),在 RM 目的地发送接收消息的确认时间(毫秒)。如果没有指定,则会立即发送确认。

环境变量:QUARKUS_CXF_RM_ACKNOWLEDGEMENT_INTERVAL
Since Quarkus CXF: 2.7.0

quarkus.cxf.rm.store

string

 

org.apache.cxf.ws.rm.persistence.RMStore bean 的引用,用于存储源和目标序列和消息引用。

环境变量:QUARKUS_CXF_RM_STORE
Since Quarkus CXF: 2.7.0

quarkus.cxf.rm.feature-ref

string

#defaultRmFeature

org.apache.cxf.ws.rm.feature.RMFeature bean 的引用,以在客户端和服务端点上设置 quarkus.cxf.[client|service]."name".rm.enabled = true

如果值为 #defaultRmFeature,则 Quarkus CXF 会为您创建并配置 bean。

环境变量:QUARKUS_CXF_RM_FEATURE_REF
Since Quarkus CXF: 2.7.0

quarkus.cxf.client."client-name".rm.enabled

布尔值

true

如果为 true,则 WS-ReliableMessaging 拦截器 将添加到此客户端或服务端点中。

环境变量:QUARKUS_CXF_CLIENT__CLIENT_NAME__RM_ENABLED
Since Quarkus CXF: 2.7.0

quarkus.cxf.endpoint."/endpoint-path".rm.enabled

布尔值

true

如果为 true,则 WS-ReliableMessaging 拦截器 将添加到此客户端或服务端点中。

环境变量:QUARKUS_CXF_ENDPOINT___ENDPOINT_PATH__RM_ENABLED
Since Quarkus CXF: 2.7.0

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部