This section contains information regarding Message Queue 4.2 documentation updates:
This section covers compatibility issues regarding Message Queue 4.2.
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.
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.
The locations of individual files installed as part of Sun Java System Message Queue might change. This could break existing applications that depend on the current location of certain Message Queue files.
Message Queue 3.5 and earlier brokers might no longer be able to operate in a cluster with newer brokers.
In future releases, Message Queue clients might not be able to use JDK versions that are earlier than 1.5.
In future releases, Message Queue clients might not be able to use JDK versions that are earlier than 1.6.
The Message Queue 4.2 documentation set includes updates to the Message Queue 4.1 documentation set as described below:
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.
The Administration Guide has been updated to reflect new features in Message Queue 4.2.
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
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
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
has not been updated to reflect new features in Message Queue 4.2. This information is provided in these Message Queue Release Notes
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
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.
Import the mqbroker service into the SMF repository.
# svccfg import /var/svc/manifest/application/sun/mq/mqbroker.xml
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.
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.
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 |
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:
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. |
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. |
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.
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. |
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. |
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.
Message Queue 4.2 JAAS authentication supports authentication by IP address as well as by username.