Message Queue 3.7 UR1 includes the following new features:
These are described in the following subsections.
In an effort to streamline our product delivery, we are combining the Platform and Enterprise Edition of Sun Java Message Queue. Beginning with Message Queue 3.7 UR1, there will only be a single edition available, which effectively removes the feature restrictions in the stand-alone distribution. We hope this will 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, we will continue to offer several licensing options 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–2 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 (Platform and Enterprise) are now available to 3.7 UR1 customers. Support options are available with license purchase. |
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–3 Changes in Delivery Sources for Message Queue Products
Product |
Prior Delivery Source |
New Delivery Source |
Comments |
Open 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 via the Message Queue product page |
No longer available |
Only the single edition of Message Queue that combines Platform and Enterprise features is now available. |
Message Queue Enterprise Edition trial (via Platform Edition) |
Sun download center via the Message Queue product page |
Trial license no longer needed |
No longer needed |
Message Queue Enterprise Edition 90 day Trial (via Java Enterprise System download or CD) |
Java Enterprise System download center, prior to version 3 GA (March 2006) |
Solaris Enterprise System download center |
Solaris Enterprise System license. Support options are available with product license. (A 90 day trial license is no longer needed.) |
Message Queue Enterprise Edition via SunStore, CD, 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 do message processing based on the name.
New enumerated value: MQ_MESSAGE
The new MQMessageType, MQ_MESSAGE, allows C clients to exchange JMS messages of type Message with other Message Queue clients (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 the Message Queue persistent store format have been made to improve performance. One change is to the file store, the other 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 impact 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. Since the older copy of the store is left intact, the broker can run with the older copy of the store.