WS-ReliableMessaging
Stable • Since 1.5.3
WS-ReliableMessaging (WS-RM) is a protocol ensuring a reliable delivery of messages in a distributed environment even in presence of software, system, or network failures.
This extension provides CXF framework’s WS-ReliableMessaging implementation.
Maven coordinates
Create a new project using quarkus-cxf-rt-ws-rm
on code.quarkus.io
or add these coordinates to your existing project:
<dependency>
<groupId>io.quarkiverse.cxf</groupId>
<artifactId>quarkus-cxf-rt-ws-rm</artifactId>
</dependency>
Check the User guide and especially its Dependency management section for more information about writing applications with Quarkus CXF. |
Usage
Once your application depends on quarkus-cxf-rt-ws-rm
, WS-RM is enabled for all clients and service endpoints defined in application.properties
.
This is due to the fact that the quarkus.cxf.client."client-name".rm.enabled
and quarkus.cxf.endpoint."/endpoint-path".rm.enabled
properties are true
by default.
Enabling WS-RM for a client or service endpoints means that WS-RM interceptors will be added to the given client or endpoint.
In addition to that you may want to set some of the options documented below and/or the following WS-Addressing options:
Runnable example
There is an integration test covering WS-RM with a decoupled endpoint in the Quarkus CXF source tree.
It is split into two separate applications that communicate with each other:
To run it, you need to install the server into your local Maven repository first
$ cd test-util-parent/test-ws-rm-server-jvm
$ mvn clean install
And then you can run the test scenario implemented in the client module:
$ cd ../../integration-tests/ws-rm-client
$ mvn clean test
You should see the exchange of SOAP messages between the client, the server and the decoupled endpoint in the console.
Configuration
Configuration property fixed at build time. All other configuration properties are overridable at runtime.
Configuration property | Type | Default |
---|---|---|
|
|
|
WS-RM version namespace: Environment variable: |
||
|
|
|
WS-Addressing version namespace: Environment variable: |
||
|
||
A time duration in milliseconds after which the associated sequence will be closed if no messages (including acknowledgments and other control messages) were exchanged between the sender and receiver during that period of time. If not set, the associated sequence will never be closed due to inactivity. Environment variable: |
||
|
|
|
A time duration in milliseconds between successive attempts to resend a message that has not been acknowledged by the receiver. Environment variable: |
||
|
|
|
If Environment variable: |
||
|
||
A time duration in milliseconds within which an acknowledgement for a received message is expected to be sent by a RM destination. If not specified, the acknowledgements will be sent immediately. Environment variable: |
||
|
||
A reference to a Environment variable: |
||
|
|
|
A reference to a If the value is Environment variable: |
||
|
|
|
If Environment variable: |
||
|
|
|
If Environment variable: |