Oracle GlassFish Server 3.0.1 Application Development Guide

JMS Connection Features

The Message Queue software supports the following JMS connection features:

Both these features use the AddressList configuration, which is populated with the hosts and ports of the JMS hosts defined in the GlassFish Server. The AddressList is updated whenever a JMS host configuration changes. The AddressList is inherited by any JMS resource when it is created and by any MDB when it is deployed.

Note –

In the Message Queue software, the AddressList property is called imqAddressList.

Connection Pooling

The GlassFish Server pools JMS connections automatically.

To dynamically modify connection pool properties using the Administration Console, go to either the Connection Factories page (see Creating JMS Resources: Destinations and Connection Factories) or the Connector Connection Pools page.

To use the command line, use the asadmin create-connector-connection-pool command to manage the pool.

The addresslist-behavior JMS service attribute is set to random by default. This means that each ManagedConnection (physical connection) created from the ManagedConnectionFactory selects its primary broker in a random way from the AddressList.

The addresslist-behavior JMS service attribute can be set to priority. This means that the first broker in the AddressList is selected first.

When a JMS connection pool is created, there is one ManagedConnectionFactory instance associated with it. If you configure the AddressList as a ManagedConnectionFactory property, the AddressList configuration in the ManagedConnectionFactory takes precedence over the one defined in the GlassFish Server.

Connection Failover

To specify whether the GlassFish Server tries to reconnect to the primary broker if the connection is lost, set the reconnect-enabled attribute in the JMS service. To specify the number of retries and the time between retries, set the reconnect-attempts and reconnect-interval-in-seconds attributes, respectively.

If reconnection is enabled and the primary broker goes down, the GlassFish Server tries to reconnect to another broker in the AddressList. The AddressList is updated whenever a JMS host configuration changes. The logic for scanning is decided by two JMS service attributes, addresslist-behavior and addresslist-iterations.

You can override these settings using JMS connection factory settings. For details, see Chapter 19, Administering the Java Message Service (JMS) , in Oracle GlassFish Server 3.0.1 Administration Guide.

The Message Queue software transparently transfers the load to another broker when the failover occurs. JMS semantics are maintained during failover.