Sun Java System Message Queue 4.2 Release Notes

Documentation Updates in Message Queue 4.2

This section contains information regarding Message Queue 4.2 documentation updates:

Compatibility Issues

This section covers compatibility issues regarding Message Queue 4.2.

Interface Stability

Sun Java System Message Queue uses many interfaces that may change over time. Appendix B, Stability of Message Queue Interfaces, in Sun Java System Message Queue 4.2 Administration Guide classifies the interfaces according to their stability. The more stable an interface, the less likely it is to change in subsequent versions of the product.

Issues Related to the Next Major Release of Message Queue

The next major release of Message Queue might introduce changes that make currentMessage Queue client appliations incompatible with that release. This information is provided in the interest of full disclosure.

Changes in Message Queue 4.2 Documentation Set

The Message Queue 4.2 documentation set includes updates to the Message Queue 4.1 documentation set as described below:

Technical Overview

The Sun Java System Message Queue 4.2 Installation Guide has been updated to reflect new features in Message Queue 4.2 and an updated framework for high-availibility broker clusters.

Administration Guide

The Administration Guide has been updated to reflect new features in Message Queue 4.2.

Installation and Upgrade Information

The Sun Java System Message Queue 4.2 Installation Guide has not been updated to reflect new features in Message Queue 4.2, specifically the new Sun Connection registration functionality in the installer. This information is provided in these Message Queue Release Notes

Developer's Guide for Java Clients

TheDeveloper’s Guide for Java Clients has not been updated to reflect new features in Message Queue 4.2. This information is provided in these Message Queue Release Notes

Developer’s Guide for C Clients

TheDeveloper’s Guide for C Clients has not been updated to reflect new features in Message Queue 4.2. This information is provided in these Message Queue Release Notes

Developer's Guide for JMX Clients

has not been updated to reflect new features in Message Queue 4.2. This information is provided in these Message Queue Release Notes

New Destination Metrics

Message Queue 4.2 includes new destination metrics that can be useful in monitoring destinations in a broker cluster. In a broker cluster, destinations are propagated to all brokers in the cluster. However, a message, when produced, is stored in the target destination of the message producer's home broker, and is sent to the corresponding destination on another broker in the cluster only if there is an active consumer for that destination. As a result, the messages stored in a specified destination depends on the broker in the cluster on which the specified destination resides.

Put another way, in a broker cluster, the messages stored in a given destination on a given broker in the cluster, consist of messages produced directly to the destination as well as messages sent to the destination from remote brokers in the cluster. In analyzing message routing and delivery in a broker cluster, it is sometimes helpful to know how many messages in a destination are local (locally produced) and how many are remote (remotely produced).

The following table shows two new physical destination metric quantities included in Message Queue 4.2. The new metric quantities are available through the imqcmd list dst and imqcmd query dst commands and through new JMX attributes (see Destination Monitor MBean.

Table 1–9 Physical Destination Metrics

Metric Quantity 

Description 

Log File? 

metrics dstMetric Type

Metrics Topic 

Num messages remote 

Current number of messages stored in memory and persistent store that were produced to a remote broker in a cluster. This number does not include messages included in transactions. 

No 

Not Available [Available only with imqcmd query dst command]

Not Available 

Total message bytes remote 

Current total size in bytes of messages stored in memory and persistent store that were produced to a remote broker in a cluster. This value does not include messages included in transactions. 

No 

Not Available

Not Available 

Automatic Broker Startup on Solaris 10 OS

This section describes how to configure automatic broker startup on Solaris 10 operating systems. Rather than using an rc file to implement automatic broker startup when a computer reboots, the following procedure makes use of the Solaris 10 Service Management Facility (SMF).

For more info on using the Service Management Facility, please refer to Solaris 10 documentation.

ProcedureTo implement automatic broker startup on Solaris 10 OS

  1. Import the mqbroker service into the SMF repository.

    # svccfg import /var/svc/manifest/application/sun/mq/mqbroker.xml

  2. Verify that the import was successful by checking the state of the mqbroker service.

    # svcs mqbroker

    Output resembles the following:


    STATE STIME FMRI
    disabled 16:22:50 svc:/application/sun/mq/mqbroker:default

    The service is initially shown as disabled.

  3. Eanable the mqbroker service.

    # svcadm enable svc:/application/sun/mq/mqbroker:default

    Enabling the mqbroker service will start the imqbrokerd process. A reboot will subsequently restart the broker.

  4. Configure the mqbroker service to pass any desired arguments to the imqbrokerd command.

    The options/server_args property is used to pass arguments toimqbrokerd. For example to add -loglevel DEBUGHIGH, do the following:


    # svccfg
    svc:> select svc:/application/sun/mq/mqbroker
    svc:/application/sun/mq/mqbroker> setprop options/server_args=\"-loglevel DEBUGHIGH\"
    svc:/application/sun/mq/mqbroker> exit

Changes to JMX API

Message Queue supports the Java Management Extensions (JMX) API for configuring and monitoring broker functions programmatically from within a Message Queue client application. Message Queue 4.2 includes extensions to the JMX API to support new features and functionality in the release. New JMX attributes, operations, and/or lookup keys are defined for the following Mbeans:

ConsumerManager Monitor MBean

The attributes, operations, and lookup keys in the following tables support the feature described in Multiple Destinations for a Publisher or Subscriber.

The name of the following attribute is defined as static constants in the utility class com.sun.messaging.jms.management.server.ConsumerAttributes.

Table 1–10 ConsumerManager Monitor Attributes

Name 

Type 

Settable? 

Description 

NumWildcardConsumers

Integer

No 

Number of wildcard message consumers associated with the broker 

The names of the following operations are defined as static constants in the utility class com.sun.messaging.jms.management.server.ConsumerOperations.

Table 1–11 ConsumerManager Monitor Operations

Name 

Parameters 

Result Type 

Description 

getConsumerWildcards

none 

String[]

Wildcard strings used by current consumers associated with the broker 

getNumWildcardConsumers

wildcard-String 

Integer

Number of current consumers associated with the broker that are using the specified wildcard string 

The following lookup keys are defined as static constants in the utility class com.sun.messaging.jms.management.server.ConsumerInfo.

Table 1–12 Lookup Keys for Message Consumer Information

Name 

Value Type 

Description 

DestinationNames

String[]

Destination names that match wildcards used by wildcard consumers 

For topic destinations only. 

Wildcard

Boolean

Wildcard consumer? 

For topic destinations only. 

Destination Configuration MBean

The attributes in the following table support the feature described in Schema Validation of XML Payload Messages.

The names of the following attributes are defined as static constants in the utility class com.sun.messaging.jms.management.server.DestinationAttributes.

Table 1–13 Destination Configuration Attributes

Name 

Type 

Settable? 

Description 

ValidateXMLSchemaEnabled

Boolean

Yes 

XML schema validation is enabled? 

If set to false or not set, then XML schema validation is not enabled for the destination.

XMLSchemaURIList

String

Yes 

Space separated list of XML schema document (XSD) URI strings  

The URIs point to the location of one or more XSDs to use for XML schema validation, if enabled.  

Use double quotes around this value if multiple URIs are specified. 

Example: 

http://foo/flap.xsd http://test.com/test.xsd

If this property is not set or null and XML validation is enabled, XML validation is performed using a DTD specified in the XML document. 

ReloadXMLSchemaOnFailure

Boolean

Yes 

Reload XML schema on failure enabled? 

If set to false or not set, then the schema is not reloaded if validation fails. 

Destination Manager Configuration MBean

The new Destination Configuration MBean attributes, above, that support the new feature, Schema Validation of XML Payload Messages, can be used in creating a destination using the create operation of the Destination Manager Configuration MBean.

Destination Monitor MBean

The first set of attributes in the following table support the feature described in Multiple Destinations for a Publisher or Subscriber and the second set of attributes support the enhancement described in New Destination Metrics.

The names of the following attributes are defined as static constants in the utility class com.sun.messaging.jms.management.server.DestinationAttributes.

Table 1–14 Destination Monitor Attributes

Name 

Type 

Settable? 

Description 

NumWildcardProducers

Integer

No 

Current number of wildcard message producers associated with the destination 

For topic destinations only. 

NumWildcardConsumers

Integer

No 

Current number of wildcard message consumers associated with the destination 

For topic destinations only. 

NumWildcards

Integer

No 

Current number of wildcard message producers and wildcard message consumers associated with the destination 

For topic destinations only. 

NumMsgsRemote

Long

No 

Current number of messages stored in memory and persistent store that were produced to a remote broker in a cluster. This number does not include messages included in transactions. 

TotalMsgBytesRemote

Long

No 

Current total size in bytes of messages stored in memory and persistent store that were produced to a remote broker in a cluster. This value does not include messages included in transactions. 

The operations in the following table support the feature described in Multiple Destinations for a Publisher or Subscriber.

The names of the following operations are defined as static constants in the utility class com.sun.messaging.jms.management.server.DestinationOperations.

Table 1–15 Destination Monitor Operations

Name 

Parameters 

Result Type 

Description 

getConsumerWildcards

none 

String[]

Wildcard strings used by current consumers associated with the destination 

For topic destinations only. 

getProducerWildcards

none 

String[]

Wildcard strings used by current producers associated with the destination 

For topic destinations only. 

getWildcards

none 

String[]

Wildcard strings used by current consumers and producers associated with the destination 

For topic destinations only. 

getNumWildcardConsumers

wildcard-String 

Integer

Number of current consumers associated with the destination that are using the specified wildcard string 

For topic destinations only. 

getNumWildcardProducers

wildcard-String 

Integer

Number of current producers associated with the destination that are using the specified wildcard string 

For topic destinations only. 

ProducerManager Monitor MBean

The attributes, operations, and lookup keys in the tables below support the feature described in Multiple Destinations for a Publisher or Subscriber.

The name of the following attribute is defined as static constants in the utility class com.sun.messaging.jms.management.server.ProducerAttributes.

Table 1–16 ProducerManager Monitor Attributes

Name 

Type 

Settable? 

Description 

NumWildcardProducers

Integer

No 

Number of wildcard message producers associated with the broker 

The names of the following operations are defined as static constants in the utility class com.sun.messaging.jms.management.server.ProducerOperations.

Table 1–17 ProducerManager Monitor Operations

Name 

Parameters 

Result Type 

Description 

getProducerWildcards

none 

String[]

Wildcard strings used by current producers associated with the broker 

getNumWildcardProducers

wildcard-String 

Integer

Number of current producers associated with the broker that are using the specified wildcard string 

The following lookup keys are defined as static constants in the utility class com.sun.messaging.jms.management.server.ProducerInfo.

Table 1–18 Lookup Keys for Message Producer Information

Name 

Value Type 

Description 

DestinationNames

String[]

Destination names that match wildcards used by wildcard producers 

For topic destinations only. 

Wildcard

Boolean

Wildcard producer? 

For topic destinations only. 

Support for DN Username Format for Client Authentication

Message Queue 4.2 supports DN username format in client connection authentication against an LDAP user repository. The support involves the following new broker property (and value):

imq.user_repository.ldap.usrformat=dn

This property lets the broker authenticate a client user against an entry in an LDAP user repository by extracting from the DN username format the value of the attribute specified by the following property:

imq.user_repository.ldap.uidattr

The broker uses the value of the above attribute as the name of the user in access control operations.

For example, if imq.user_repository.ldap.uidattr=udi and a client authentication username is in the format udi=mquser,ou=People,dc=red,dc=sun,dc=com, then “mquser” would be extracted for performing access control.

JAAS Authentication Enhancement

Message Queue 4.2 JAAS authentication supports authentication by IP address as well as by username.