Sun Java System Message Queue 3.7 Update 2 Release Notes

Features and Documentation Updates

This section describes minor features introduced in 3.7 UR2 and some documentation updates.

3.7 UR 2 Documentation

These Release Notes are the only document that has been updated for the 3.7 UR2 release. Otherwise, the 3.7 UR1 documentation is up to date and valid for use with the 3.7 UR2 release, except that there are some minor updates to the Installation Guide, which are noted in the next section.

Installation Information

The information in the 3.7 UR1 Message Queue Installation Guide is up to date for the 3.7 UR2 product, with the following exceptions.

Transaction Management

The following sections address issues in managing transactions.

Storing Transaction Data and Performance

To improve performance, Message Queue brokers are configured by default to use a memory-mapped file to store transaction data. On file systems that do not support memory-mapped files, you can disable this behavior by setting the broker property imq.persist.file.transaction.memorymappedfile.enabled to false.

Rolling Back Transactions

Previously, only transactions in a PREPARED state were allowed to be rolled back administratively. That is, if a session that was part of a distributed transaction did not terminate gracefully, the transaction remained in a state that could not be cleaned up by the broker administrator. In Message Queue 3.7 UR1 or 3. 7 UR2 you can use the imqcmd utility to clean up (roll back) transactions that are in the following states: STARTED, FAILED, INCOMPLETE, COMPLETE, PREPARED.

To help you determine whether a particular transaction can be rolled back (especially when it is not in a PREPARED state), the imqcmd utility provides additional data as part of the imqcmd query txn output: it provides the connection id for the connection that started the transaction and specifies the time when the transaction was created. Using this information, the administrator can decide whether the transaction needs to be rolled back. In general, the administrator should avoid rolling back a transaction prematurely.

Fixed Ports for C Client Connections

C clients can use the MQ_SERVICE_PORT_PROPERTY connection property to specify a fixed port to connect to. This can be useful if you're trying to get through a firewall or if you need to bypass the broker's port mapper service (which assigns ports dynamically).

Remember that you need to configure the JMS service port on the broker side as well. For example, if you want to connect your client via ssljms to port 1756, you would do the following.