Java CAPS JMS Reference

JMS Client Delivery Modes

The delivery order options above are configured for the JMS IQ Manager. The Sun Enterprise Service Bus JMS implementation enables you to configure topic subscribers as connection consumers to improve message throughput through concurrent processing. You can set the JMS client configuration with the Concurrency property as described in Concurrency.

The use of connection consumers increases message processing performance by enabling concurrent processing using multiple threads. You can specify the number of message driven beans (MDBs) or the server session pool to assign to a JMS Collaboration to process messages concurrently. When you use connection consumer with fully concurrent or protected concurrent FIFO processing, this default setting allows the integration server to assign multiple threads to execute the Collaboration on a particular message destination.

For queues, you can also process messages concurrently using multiple integration servers; these integration servers may run on different systems.

Using a JMS client connection consumer affects the message processing order. For example, consider the scenario shown in the following figure. The JMS IQ Manager is set to fully concurrent FIFO processing. However, each Collaboration on each integration server retrieves messages as they come in, and is able to commit them unrestricted to the queue. Therefore, although the JMS IQ Manager is configured for fully concurrent FIFO processing, message order cannot be guaranteed.

Figure 1–8 Multiple Application Server Configuration

Diagram explained in accompanying text.

The concurrency mode affects FIFO processing in several ways. The following table lists how the JMS client concurrency mode settings affect the JMS IQ Manager FIFO mode selections for topics. For topics, only one integration server per subscriber can be used.

Table 1–4 Concurrency/FIFO Mode Interaction: Topics

Concurrency Mode 

Fully Concurrent FIFO Mode 

Serial mode 

Fully serialized 

Connection consumer 

No strict order maintained 

The following table lists how the JMS client concurrency mode settings affect the JMS IQ Manager FIFO mode selections for queues.

Table 1–5 Concurrency/FIFO Mode Interaction: Queues

Application Servers 

Concurrency Mode 

FIFO Mode 

Fully Serialized 

Protected Concurrent 

Fully Concurrent 

Single 

Serial 

Fully serialized 

Protected concurrent 

Fully serialized 

   

No concurrency 

No concurrency 

No concurrency 

 

Connection consumer 

Fully serialized 

Protected concurrent 

No strict order 

   

No concurrency 

Concurrent 

Concurrent 

Multiple 

Serial 

Fully serialized 

Protected concurrent 

No strict order 

   

No concurrency 

Concurrent 

Concurrent 

 

Connection consumer 

Fully serialized 

Protected concurrent 

No strict order 

   

No concurrency 

Concurrent 

Concurrent