There are two levels of availability for JMS components:
Service availability – At this level, availability of the JMS service matters, but it's not important if messages are not available for a while. As long as a connection gets failed over to a new available instance providing the service, the JMS component considers that the service is available and functions normally. This level of availability is described in Connection Failover in Sun GlassFish Enterprise Server 2.1 Developer’s Guide.
Data availability – At this level, both availability of the service and persistent messages are required. JMS semantics of once and only once delivery and message ordering are also handled at this level.
You can enable data availability in the Sun GlassFish Message Queue cluster that comprises the Java Message Service (JMS). Messages are persisted to the common persistence store and are available from the high-availability database (HADB) if it is installed and the enterprise profile is selected. For information about profiles, see Usage Profiles in Sun GlassFish Enterprise Server 2.1 Administration Guide. You must enable availability for the Enterprise Server instances before you can enable data availability for the corresponding brokers.
Individual applications and modules cannot control or override JMS availability.
To enable data availability, select the Availability Service component under the relevant configuration in the Admin Console. Check the Availability Service box. To enable availability for the JMS service, select the JMS Availability tab, then check the Availability Service box. All instances in an Enterprise Server cluster should have the same instance availability and JMS availability settings to ensure consistent behavior. For details, see the Sun GlassFish Enterprise Server 2.1 High Availability Administration Guide.
Clustering features are not available in the developer profile. For information about profiles, see Usage Profiles in Sun GlassFish Enterprise Server 2.1 Administration Guide.