A Message Queue 3.7 UR1 message broker will interoperate with one from Versions 3.0.x, 3.5, or 3.6. However, some changes have been made in broker properties and the persistent store schema. The degree of compatibility depends on the earlier Message Queue version from which you are upgrading:
Message Queue 3.6 data is generally compatible with Message Queue 3.7 UR1 and requires no migration.
Message Queue 3.5 data is generally compatible with Message Queue 3.7 UR1 and can be used after migration to Message Queue 3.7 UR1.
Some Message Queue 3.0.x data is compatible with Message Queue 3.7 UR1, as described below, and can be used after migration to Message Queue 3.7 UR1.
When upgrading from Message Queue 3.0.x, 3.5, or 3.6 to Message Queue 3.7 UR1, you can choose either of two approaches to handling the older versions' instance configuration (config.properties) files:
Use the older config.properties files directly.
Copy the files to another location and consult the property settings they contain when you configure Message Queue 3.7 UR1 brokers.
Any persistent Message Queue 3.0.x, 3.5, or 3.6 data (messages, destinations, and durable subscriptions) is automatically converted to Message Queue 3.7 UR1 data when starting up a Message Queue 3.7 UR1 broker for the first time. For example, existing destinations will be converted to Message Queue 3.7 UR1 destinations, preserving existing attributes and using default values for new attributes.
For Message Queue 3.0.x, the automatic migration of persistent data leaves the original data intact in its original location. The migrated data, however,can no longer be used by a Message Queue 3.0.x broker. If this is a concern, save the original data to a secure location after migration. Otherwise, you can delete this data in any of the following ways:
Use the Broker utility's -upgrade-store-nobackup option when starting up the Message Queue 3.7 UR1 broker for the first time:
imqbrokerd -upgrade-store-nobackup
Delete the old persistent data store manually:
For a file-based data store, delete the old persistent store, located at
…/instances/instanceName/filestore/
For a JDBC-based data store, delete the old tables using the command
imqdbmgr delete oldtbl
Note: Applies to Message Queue 3.0.x only. You can continue to use the Message Queue 3.0.x user repository and access control properties files after installing Message Queue 3.7 UR1, however these files have been made instance-specific and are now placed in the …/instances/instanceName/etc directories. The Message Queue 3.7 UR1 installer does not overwrite the Message Queue 3.0.x files. When you first start up a Message Queue 3.7 UR1 broker, copies of the Message Queue 3.0.x files are placed in the appropriate Message Queue 3.7 UR1 location (see Appendix A, Platform-Specific Locations of Message Queue Data, in Sun Java System Message Queue 3.7 UR1 Administration Guide). If Message Queue 3.0.x user repository and access control properties files are not found at the old location, new files will be created in the …/instances/instanceName/etc directory.
If you mix Message Queue 3.0.x, 3.5, or 3.6 brokers and Message Queue 3.7 UR1 brokers in a cluster, the master broker must be a Message Queue 3.0.x, 3.5, or 3.6 broker (whichever is older), and the cluster will run as a Message Queue 3.0.x, 3.5, or 3.6 cluster.