The following sections describe the new features in Message Queue 3.7 UR1:
For streamlined product delivery, the Platform and Enterprise Edition of Sun Java Message Queue have been combined into a single edition beginning with Message Queue 3.7 UR1. This strategy effectively removes the feature restrictions in the stand-alone distribution and should simplify your experience with this product.
Combining editions also aligns Message Queue better with Solaris Enterprise System and provides a perpetual broad-based right to use Enterprise Edition features, with no support, maintenance, or indemnity. As with previous releases, several licensing options are available for support and maintenance services. Message Queue will continue to be packaged with Java Enterprise System and the Application Platform Suite. Please check the online store at http://www.sun.com or consult your sales representative to find an option that best suits your needs. The next table describes the upgrade paths to the new single edition of Message Queue.
Table 1–1 Upgrade Paths for Message Queue 3.7 UR1
Prior Edition |
Upgrade Path |
Comments |
---|---|---|
Platform Edition |
Sun Java System Message Queue 3.7 UR1 |
All features are now available to these customers. Without license purchase, no support options are available. |
Enterprise Edition |
Sun Java System Message Queue 3.7 UR1 |
No feature changes. A range of licensing and support options are available. |
Platform Edition support contracts |
Upgrade to Enterprise Edition support contract |
Existing support contracts for prior releases of Platform Edition will continue to be renewed. No new Platform Edition contracts will be issued for prior Platform Edition releases. |
Enterprise Edition support contracts |
No change. |
Existing contracts will continue to be renewed. New contracts will be issued. |
The following table describes the changes in delivery sources for various Message Queue products.
Table 1–2 Changes in Delivery Sources for Message Queue Products
Product |
Prior Delivery Source |
New Delivery Source |
Comments |
Message Queue |
Not applicable |
Sun Download Center product page |
Standalone download. Community support only. No support contracts available. |
Message Queue Platform Edition |
Sun Download Center through the Message Queue product page |
No longer available |
Pages will all point to a single edition of Message Queue |
Message Queue Enterprise Edition trial (through Platform Edition) |
Sun Download Center through the Message Queue product page |
Trial license no longer needed |
No longer needed |
Message Queue Enterprise Edition 90 day Trial (through Java Enterprise System download or DVD) |
Java Enterprise System Download Center, prior to version 3 GA (March 2006) |
Solaris Enterprise System Download Center |
Solaris Enterprise System license. No support options available without product license. |
Message Queue Enterprise Edition via SunStore, DVD, individual license, Java Enterprise System license, Suite license, delivered via Java Enterprise System |
Java Enterprise System or Suite Download Center, media |
Solaris Enterprise System or Suite Download Center, media fulfillment |
No change. |
New function: MQGetDestinationName()
MQGetDestinationName (const MQDestinationHandle destinationHandle, MQString * destinationName); |
Use this function to get the name of a destination. The returned destinationName is a copy that the caller is responsible for freeing by calling the MQFreeString() function.
Parameters
A handle to the destination whose name you want to know.
The output parameter for the name.
This function is useful when using the reply-to pattern. You can use the MQGetMessageReplyTo function to obtain a handle to the destination where the message should be sent. You can then use the MQGetDestinationName to get the name of that destination. Having obtained the destination name, you can process messages based on the name.
New enumerated value: MQ_MESSAGE
The new MQMessageType, MQ_MESSAGE, enables C clients to exchange JMS messages of type Message with other Message Queue clients that are using both C and Java:
typedef enum _MQMessageType {MQ_TEXT_MESSAGE = 0, MQ_BYTES_MESSAGE = 1, MQ_MESSAGE = 3, MQ_UNSUPPORTED_MESSAGE = 2} MQMessageType; |
The MQ_MESSAGE type identifies messages that have a header and properties but no message body. You use the MQCreateMessage() function to create a message of this type.
A new connection property, MQ_UPDATE_RELEASE_PROPERTY, that specifies the update release version for the installed version of Message Queue. Use the MQGetMetaData() function to obtain version information.
Two changes to Message Queue's persistent store format improve performance. One change is to the file store, the other change is to the JDBC store.
Transaction information in the file store - The format of transaction state information stored in the Message Queue file-based persistent store has been changed to reduce disk I/O and improve the performance of JMS transactions.
Oracle JDBC Store - In previous versions of Message Queue, the store schema used with Oracle used the LONG RAW data type to store message data. In Oracle 8, Oracle introduced the BLOB data types and deprecated the LONG RAW type. Message Queue 3.7 UR1 switches to the BLOB data type to improve performance and supportability.
Because these changes affect store compatibility, the store version has been changed from 350 to 370. Message Queue 3.7 UR1 supports automatic conversion of the persistent store from the older 200 and 350 versions to the 370 version - both for JDBC and for file-based stores. The first time imqbrokerd starts, if the utility detects an older store it will migrate the store to the new format, leaving the old store behind.
If you should need to roll back this upgrade, you can uninstall Message Queue 3.7 UR1 and then reinstall the version you were previously running. Because the older copy of the store is left intact, the broker can run with the older copy of the store.