Using the Path Service Using Hash-based Routing Configuring Routing on Uniform Distributed Destinations

Using Message Unit-of-Order 10-9 not in the same Unit-of-Order as message A, the priority setting of message C and the priority setting of message A determine the delivery order. See Configuring Basic JMS System Resources in Configuring and Managing JMS for Oracle WebLogic Server.

10.5.4 Using Unit-of-Order with Distributed Destinations

As previously discussed in the Section 10.2.1, Message Processing According to the JMS Specification, the Java Message Service Specification at http:www.java.sun.comproductsjmsdocs.html does not guarantee ordered message delivery when applications use distributed queues. WebLogic JMS directs messages with the same Unit-of-Order and having a distributed destination target to the same distributed destination member. The member is selected by the destinations Unit-of-Order configuration: ■ Section 10.5.4.1, Using the Path Service ■ Section 10.5.4.2, Using Hash-based Routing

10.5.4.1 Using the Path Service

You can configure the WebLogic Path Service to provide a persistent map that can store the information required to route the messages contained in a Unit-of-Order to its destination resource—a member of a uniform distributed destination. If the WebLogic Path Service is configured for a uniform distributed destination, the routing path to a member destination is determined by the server using the run-time load balancing heuristics for the distributed queue.

10.5.4.2 Using Hash-based Routing

If the WebLogic Path Service is not configured, the default routing path to a uniform queue member is chosen by the server based on the hash codes of the Message Unit-of-Order name and the uniform distributed queue members. An advantage of this routing mechanism is that routes to a distributed queue member are calculated quickly and do not require persistent storage in a cluster. Consider the following when implementing Message Unit-of-Order in conjunction with Hash-based routing: ■ If a distributed queue member has an associated Unit-of-Order and is removed from the distributed queue, new messages are sent to a different distributed queue member and the messages will not be continuous with older messages. ■ If a distributed Queue member has an associated Unit-of-Order and is unreachable, the producer sending the message will throw a JMSOrderException and the messages are not routed to other distributed Queue members. 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.

10.5.4.3 Configuring Routing on Uniform Distributed Destinations

Refer to one of the following topics to configure either the Path service or Hash-based routing mechanism on uniform distributed destinations using Message Unit-of-Order: ■ Uniform distributed topics - configure advanced parameters in the Oracle WebLogic Server Administration Console Help ■ Uniform distributed queues - configure advanced parameters in the Oracle WebLogic Server Administration Console Help 10-10 Programming JMS for Oracle WebLogic Server

10.5.5 Using Unit-of-Order with Topics