This chapter describes how to upgrade Message Queue software from Java ES 5 (Release 5) to Java ES 5 Update 1 (Release 5U1): Sun Java System Message Queue 3.7 UR 2.
The chapter provides a general overview of Message Queue upgrade issues and procedures for the different upgrade paths supported by Java ES 5 Update 1. This chapter covers the following topics:
File locations in this chapter are specified with respect to a fixed directory path referred to as MessageQueue-base. The default value of MessageQueue-base is C:\Program Files\Sun\JavaES5\mq.
This section describes the following general aspects of Message Queue that impact upgrading to Java ES 5 Update 1 :
Release 5U1 Message Queue is a maintenance release that fixes bugs in Release 5 Message Queue. Release 5 Message Queue was a feature release that represented a minor upgrade with respect to Release 4.
Message Queue software has historically included two editions, a Platform Edition and an Enterprise Edition, each corresponding to a different feature set and licensed capacity. Enterprise Edition was for deploying and running messaging applications in an enterprise production environment. Platform Edition was mainly for developing, and debugging messaging applications and components. With Release 5 Message Queue, the Platform Edition was deprecated and Message Queue includes all Enterprise Edition features. An upgrade from an earlier Java ES version to Java ES 5 converts any installed Platform Edition to full Message Queue enterprise-level features.
The following table shows the supported Message Queue upgrade paths to Release 5U1.
Table 8–1 Upgrade Paths to Java ES Update 1Message Queue 3.7 UR2
Java ES Release |
Message Queue Release |
General Approach |
Reconfiguration Required |
---|---|---|---|
Release 5 |
Sun Java System Message Queue 3.7 UR1 |
Maintenance Upgrade. Apply patches. |
None |
Message Queue, like other Java ES components, makes use of various kinds of data that for any specific upgrade might need to be migrated to an upgraded version. Table 8–2 shows the type of data that could be impacted by an upgrade of Message Queue software.
In the table, Instance-Name identifies the name of the Message Queue broker instance with which the data is associated and MessageQueue-base is the installation directory for Message Queue.
For Java ES 5 Update 1, C:\Program Files\Sun\JavaES5\mq is the default installation location for Message Queue . For Java ES 4, C:\Sun\MessageQueue is the default installation location.
Table 8–2 Message Queue Data Usage
Data Category |
Location |
Usage |
---|---|---|
Broker instance configuration properties |
MessageQueue-base\var\instances\Instance-Name\config.properties |
Broker and related services configurations |
Persistent store for dynamic application data |
Release 4: MessageQueue-base\var\instances\Instance-Name\fs350 Release 5: MessageQueue-base\var\instances\Instance-Name\fs370 or accessible through the Java Database Connectivity (JDBCTM) API |
Stores messages, destinations, durable subscriptions, transactions, and other dynamic data |
Administered objects (object store) |
Local directory of your choice or an LDAP Directory Server |
Objects used to configure client/broker connections |
Security: user repository |
MessageQueue-base\var\instances\Instance-Name\etc\passwd |
Stores user data used for authentication and authorization |
Security: access control file (default location) |
MessageQueue-base\var\instances\Instance-Name\etc\accesscontrol.properties |
Sets the rules that authorize user access to destinations and related capabilities |
Security: passfile directory (default location) |
MessageQueue-base\var\instances\Instance-Name\etc\ |
Stores encrypted password information. |
Security: broker’s keystore file location |
MessageQueue-base\etc |
Stores encrypted certificate information for secure messaging. |
Message Queue dependencies on other Java ES components can impact the procedure for upgrading and reconfiguring Message Queue software. Changes in Message Queue interfaces or functions, for example, could require upgraded version of components upon which Message Queue depends. The need to upgrade such components depends upon the specific upgrade path.
Message Queue has dependencies on the following Java ES components:
Shared components. Message Queue has dependencies on specific Java ES shared components, as listed in Table 1–8.
Directory Server (optional). If you want to configure Message Queue to store administered objects and/or user data in an LDAP directory rather than locally, you can use Directory Server for that purpose.
Web Container (optional). If you need HTTP messaging between client and broker, then Message Queue requires web container support from Java ES Web Server or from Java ES Application Server.
Databases (optional). You can configure Java DB or a third-party database as a data store for the Message Queue persistence layer.
This section includes information about upgrading Message Queue from Java ES 5 to Java ES 5 Update 1 . The section covers the following topics:
When upgrading Release 5 Message Queue to Release 5U1, consider the following aspects of the upgrade process:
General Upgrade Approach. The upgrade is achieved by patching Release 5 Message Queue.
Upgrade Dependencies. Message Queue has dependencies on a number of Java ES shared components, (see Table 1–8), none of which need to be upgraded when you perform a maintenance upgrade of Message Queue. However, Message Queue requires that Windows Installer patch (126910–02) is already applied.
Backward Compatibility. Release 5U1 Message Queue is backwardly compatible with the Release 5 version.
Upgrade Rollback. You can do a rollback of the Release 5 upgrade by reverting to the previous version, which is left intact by the upgrade.
This section describes how to perform an upgrade of Message Queue from Java ES 5 to Java ES 5 Update 1. The section covers the following topics:
Before you upgrade Message Queue, perform the tasks described below.
Verify the current version of Message Queue before you upgrade.
Start the Message Queue broker with -version option.
imqbrokerd -version
The outputs that indicate the Message Queue version are:
The outputs that indicate the Message Queue version are:
Sun Java System Message Queue 3.7 UR2
Sun Java System Message Queue 3.7 UR1
It is generally recommended that all Java ES components on a computer system (and in a computing environment) be upgraded to Release 5U1. Release 5U1 Message Queue has no hard upgrade dependencies, so upgrade of shared components is optional.
It is always a good practice to back up application data in a production environment before performing an upgrade. Note the location of the persistent store for the dynamic application data indicated in Table 8–2.
This section discusses considerations that impact the upgrade procedure for Message Queue, followed by a description of the procedure itself.
The upgrade of Message Queue software to Java ES 5 Update 1 takes into account the following considerations:
In a deployment architecture in which there are multiple instances of Message Queue running on a single computer (all corresponding to the same installed Message Queue image), you only have to upgrade the Message Queue image once.
In a maintenance upgrade, you do not have to migrate configuration, security and user data.
The Release 5U1 Message Queue upgrade patches for Windows OS are shown in the following table:
The procedure documented below applies to Message Queue instances residing locally on the computer where the upgrade is taking place. Back up application data in a production environment before performing an upgrade. For Message Queue data locations, refer Table 8–2.
Stop any Message Queue client applications that are running.
In default Java ES 5 installation these are the Application Server instances.
Stop any Message Queue brokers that are running.
Make sure you have upgraded any Java ES components upon which Message Queue has hard upgrade dependencies (see Upgrade Message Queue Dependencies.
Obtain the required Message Queue Release 5U1 upgrade patches, based on Table 8–3.
To obtain the patch, see Accessing Java ES Patches. Patches can be downloaded to \workingDirectory.
Install the patch.
Installation is generally performed by running patch-id.exe, however, be sure to consult the README.patch-id file in the patch directory for installation instructions and for limitations when updating the Windows 2000 service registry.
If you are prompted to restart the system, select No. Wait till the patch installation process is completed and then restart and re-login as the same user to complete the patch installation.
Verify the patch log file.
The log file is found at: %TEMP%\SUNJAVAES_<patch-id>.log
Verify the patch installation with the utility ListJavaESPatches.exe.
Run ListJavaESPatches.exe and check that the output includes the patch id of the patch that you have installed in Step 5. For more information, see Identifying Installed Java ES Patches.
Start the Message Broker or Service from Service Control Panel.
Alternatively, you can start the Message Broker from the command line:
net start MQ3.7UR1_Broker
Due to a limitation of the Windows Patching System, the service name MQ3.7UR1_Broker does not get updated during the application of the patch.
You can verify successful upgrade of Message Queue as follows:
Start the Message Queue broker with -version option.
MessageQueue-base\bin\imqbrokerd.exe -version
The messages that indicate the Java ES release version are:
Sun Java System Message Queue 3.7 UR2
Sun Java System Message Queue 3.7 UR1
If you have upgraded the web container and are using the Message Queue HTTP tunneling servlet, you may need to redeploy the servlet in the new web container. Otherwise, you do not need to redeploy the servlet after upgrading Message Queue. For more information about HTTP support, see the Sun Java System Message Queue 3.7 UR1 Administration Guide.
Stop any running Release 5U1 Message Queue brokers and Message Queue service from Service Control Panel.
Execute Uninstall_patch-id.bat
Start the Message Queue broker or service from Service Control Panel.
Start the Release 5 Message Queue.
Verify the Message Queue version with the following command.imqbrokerd -version