To configure a web service application to use WS-ReliableMessaging, you attach a policy set that contains a WS-ReliableMessaging policy type. This policy type offers a range of qualities of service: managed persistent, managed non-persistent, or unmanaged non-persistent. Use
the wsadmin tool to attach the policy set to your application, and
(for managed qualities of service) to define bindings to a service
integration bus and messaging engine.
About this task
Use this task to complete the following
broad actions:
- Attach a reliable messaging policy set (either a default policy set or one that you have created) to an aspect of your application (that is, application level or web service level). Policy sets define the reliability level (quality of service) and other configuration options that you want to apply to your reliable messaging application.
- Define the bindings for each attachment to a policy set that specifies a managed quality of service. That is, choose the service integration bus and messaging engine to use to maintain the state for the managed persistent and managed non-persistent qualities of service.
To
attach a WS-ReliableMessaging policy set and define
bindings by using the wsadmin tool, complete the following steps:
Procedure
- Attach a policy set to your reliable messaging application
at either application level or service level.
Use the
createPolicySetAttachment command
as described in
Creating policy
set attachments by using the wsadmin tool. Set the
-policySet parameter
to the name of the reliable messaging policy set that you want to
use. For example:
WS-I RSP NDNote: - You can attach one policy set at each level.
- You can only apply a WS-ReliableMessaging policy at application level or service level.
- If you apply reliable messaging at service level, then all services must use the same WS-ReliableMessaging policy and bindings values.
- You can attach any policy set at operation level. For a policy set that includes the WS-ReliableMessaging policy, attachment at the operation level configures the other components of the policy set (for example WS-Security and WS-Addressing) but any WS-ReliableMessaging configuration at operation level is ignored.
This command
returns an attachment ID number. If your chosen policy set specifies
a managed quality of service, make a note of this number. In the next
step you use it to define the binding.
- If your chosen policy set specifies a managed quality of service, define bindings to a service integration bus and messaging engine.
If the policy set instance specifies managed non-persistent or managed persistent quality of service, choose the service integration bus and messaging engine that is to manage the WS-ReliableMessaging state. Use
the
setBinding command as described in
Creating policy set attachments
using the wsadmin tool. Set the
-policyType parameter
to
WSReliableMessaging. Set the bus name and the
messaging engine name by using the following syntax for the
-attributes parameter:
-attributes "[[busName ReliableMessagingBus]
[messagingEngineName messaging_engine_name]]"
The
messaging engine name is in the format
nodeName.serverName-busName for
a messaging engine on a single server, or
clusterName.nnn-busName for
a messaging engine in a cluster.
Note: When many applications use the same messaging engine, it can impact performance. Factors to consider include the number of applications that are already binding to the messaging engine, the CPU utilization, and the message throughput. To improve performance for a single server configuration, create a new messaging engine to bind to your application.
- Save your changes to the master configuration.
To save your configuration changes, enter the following command:
AdminConfig.save()
What to do next
If your chosen policy set specifies a managed quality
of service, configure the sib.wsrm.tokenLockTimeout custom property
on the messaging engine that you specified in the policy binding.
Set the value of the property to be less than the amount of time that
the control region waits before ending an inactive servant region.
Setting this value ensures that the control region does not end the
servant region while WS-ReliableMessages are locked. Refer to Service integration custom properties for more information.