Configuring Advanced JMS System Resources 4-7
Store-and-Forward agents. One path service is configured per cluster. For more information on the Message Unit-of-Order feature, see Using Message Unit-of-Order
in Programming JMS for Oracle WebLogic Server.
To configure a path service in a cluster, see Configure path services in the Oracle WebLogic Server Administration Console Help.
4.3.1 Path Service High Availability
For high availability, a clusters path service can be targeted to a migratable target for automatic or manual service migration. However, a migratable path service cannot use
the default store, so a custom store must be configured and targeted to the same migratable target. As an additional best practice, the path service and its custom store
should be the only users of that migratable target. See Understanding the Service Migration Framework in Using Clusters for Oracle WebLogic Server.
4.3.2 Implementing Message UOO With a Path Service
Consider the following when implementing Message Unit-of-Order in conjunction with Path Service-based routing:
■
Each path service mapping is stored in a persistent store. When configuring a path service, select a persistent store that takes advantage of a high-availability
solution. See Section 4.2.3, Persistent Store High Availability.
■
If one or more producers send messages using the same Unit-of-Order name, all messages they produce will share the same path entry and have the same member
queue destination.
■
If the required route for a Unit-of-Order name is unreachable, the producer sending the message will throw a JMSOrderException. The exception is thrown
because the JMS messaging system can not meet the quality-of-service required — only one distributed destination member consumes messages for a particular
Unit-of-Order.
■
A path entry is automatically deleted when the last producer and last message reference are deleted.
■
Depending on your system, using the Path Service may slow system throughput due to a remote disk operations to create, read, and delete path entries.
■
A distributed queue and its individual members each represent a unique destination. For example:
DXQ1 is a distributed queue with queue members Q1 and Q2. DXQ1 also has a Unit-of-Order name value of Fred mapped by the Path Service to the Q2 member.
–
If message M1 is sent to DXQ1, it uses the Path Service to define a route to Q2.
–
If message M1 is sent directly to Q2, no routing by the Path Service is performed. This is because the application selected Q2 directly and the system
was not asked to pick a member from a distributed destination.
–
If you want the system to use the Path Service, send messages to the distributed destination. If not, send directly to the member.
–
You can have more than one destination that has the same Unit-of-Order names in a distributed queue. For example:
Queue Q3 also has a Unit-of-Order name value of Fred. If Q3 is added to DXQ1, there are now two destinations that have the same Unit-of-Order name
in a distributed queue. Even though, Q3 and DXQ1 share the same
4-8 Configuring and Managing JMS for Oracle WebLogic Server
Unit-of-Order name value Fred, each has a unique route and destination that allows the server to continue to provide the correct message ordering for each
destination.
■
Empty queues before removing them from a distributed queue or adding them to a distributed queue. Although the Path Service will remove the path entry for the
removed member, there is a short transition period where a message produced may throw a JMSOrderException when the queue has been removed but the
path entry still exists.
4.4 Configuring Foreign Server Resources to Access Third-Party JMS Providers