If
your WS-ReliableMessaging application runs inside
the web container and uses a managed quality of service, you can
use WS-ReliableMessaging to provide transactional recoverable messaging.
About this task
The WS-ReliableMessaging
transactional model is as follows:
- On the web service requester
side, the transaction is between
the application and the local managed store.
- The WS-ReliableMessaging
protocol delivers the message to the
web service provider side, where a different transaction is used between
the second managed store and the application being dispatched.
For
the outbound (requestor) case on a one-way message
send, if the enableTransactionalOneWay property
is set to true, then the send is performed under
any transactional context currently held by the application thread.
(Note that transactions are not supported under an outbound two-way
message exchange).
For the inbound (provider) case, if the inOrderDelivery property
is set to true, then an inbound message is dispatched
to the application under a transaction. For an inbound
two-way message exchange, the response is also generated under that
transaction and is not sent until that transaction has committed.
Note: WS-ReliableMessaging transactions do not use the WS-AtomicTransactions
protocol. The relationship between these two protocols is as follows:
- WS-AtomicTransactions and WS-ReliableMessaging are mutually exclusive
when WS-ReliableMessaging is being used, with a managed store, to
provide transactional recoverable messaging.
- If WS-ReliableMessaging is configured to use an in-memory store,
then there are cases where a WS-AtomicTransaction can be flowed between
the reliable messaging source and the reliable messaging destination
for two-way invocations. In this situation, WS-ReliableMessaging only
protects against network failures, not against server failure.
For more information,
see
WS-AtomicTransactions.
To
provide transactional recoverable messaging through WS-ReliableMessaging,
work through the steps described in Adding assured delivery to web services through WS-ReliableMessaging and
also complete the following additional steps: