Path Service High Availability Implementing Message UOO With a Path Service

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