This chapter provides an overall introduction to installing the Sun JavaTM System Message Queue 4.2 product. It covers the following topics:
Before the release of Version 3.7 UR1, the Sun Java System Message Queue product was available in two editions, Platform and Enterprise, each containing different features and corresponding to a different licensed capacity. Versions beginning with 3.7 UR1 combine the functionality of both editions. If you have an earlier version installed under a Platform Edition license, upgrading to Version 4.2 will give you access to the full range of Message Queue functionality, including the following features formerly available only under the Enterprise Edition license:
Multiple-broker clusters
Scalable connection capability
Secure connection services
Hypertext Transfer Protocol (HTTP) and Secure Hypertext Transfer Protocol HTTPS) connections
Queue delivery to more than three consumers
C client support
In addition, the following features, added since the Platform and Enterprise Editions were combined, are available to all users of Version 4.2:
High-availability message services
Support for plug-in client authentication using Java Authentication and Authorization Services (JAAS)
Connection event notification
Client runtime logging
Enhanced broker administration
Programmatic configuration and monitoring of Message Queue operations by means of the Java Management Extensions (JMX) API and monitoring by means of the Java Enterprise System Monitoring Framework (JESMF)
Message Queue 4.2 is supported on Solaris, Linux, and Windows operating system platforms. Table 1–1 shows the supported versions of each of these platforms. The chapters that follow describe the hardware requirements for each of these platforms and provide platform-specific installation instructions.
Table 1–1 Supported Platform Versions
In addition to platform-specific requirements, Message Queue 4.2 also depends on a number of required and optional software components. These components, which include the Java Runtime Environment (JRE) and Java Software Development Kit (JDK), are specified in Component Dependencies in Sun Java System Message Queue 4.2 Release Notes. Please check these software dependencies before installing Message Queue 4.2.
The Message Queue 4.2 Installer automatically installs the required JDK version as of the time of release.
Table 1–2 shows the full set of software modules included with the Message Queue 4.2 product.
Table 1–2 Software Modules
Module |
Contents |
---|---|
Broker |
Server-side software for routing and delivering messages. Requires the Java runtime module |
Administration tools |
Command-line utilities and GUI tools for administering a Message Queue messaging system. Requires the client runtime and Java runtime modules |
Java client runtime |
.jar files needed to write and compile Java clients using the Message Queue Java application programming interface (API) |
C client runtime |
Libraries and header files needed to write and compile C clients using the Message Queue C application programming interface (API) |
Documentation |
API documentation needed by Java client application developers, in JavaDoc format |
Example applications |
Sample client applications |
This section covers issues you need to be aware of when migrating to Message Queue 4.2 from earlier versions of Message Queue. These issues fall into two general categories: platform issues and compatibility issues.
Migration from Message Queue versions earlier than 3.6 is not supported.
This section describes issues specific to the Solaris, Linux, and Windows platforms.
On the Solaris platform, you can upgrade to Message Queue 4.2 from an existing installation of Version 3.6 or 3.7, and your existing instance data (configuration properties, file-based persistent data store, log files, flat-file user repository, access control properties file) will be used by Version 4.2 (see Compatibility Issues).
On the Linux platform, you can upgrade to Message Queue 4.2 from an existing installation of Version 3.6 or 3.7, and your existing instance data (configuration properties, file-based persistent data store, log files, flat-file user repository, access control properties file) will be used by Version 4.2 (see Compatibility Issues).
Upgrading directly to Message Queue 4.2 from earlier versions is not supported on the Windows platform, but Version 4.2 can coexist with Versions 3.6 and 3.7 in different locations on the same system. How you treat existing Message Queue installations when installing Message Queue 4.2 depends on the previously installed version:
If you have an existing installation of Message Queue 3.5 or earlier, you should uninstall it (or upgrade it to Version 3.6 or later), using the uninstallation procedures described in the edition of the Message Queue Installation Guide corresponding to that version, before installing Message Queue 4.2.
If you have an existing installation of Message Queue 3.6 or 3.7, you can either uninstall it or leave it intact and simply install Message Queue 4.2 in a different location in your file system.
If you choose to uninstall your previous version before installing Message Queue 4.2, you may first want to back up any instance data (configuration properties, file-based persistent data store, log files, flat-file user repository, access control properties file) that you want to preserve. Instance data is not automatically migrated to the new Message Queue 4.2 location, so you must move or copy it manually from its old location in the previous installation’s IMQ_VARHOME\instances directory to that of the new installation (by default, C:\Program Files\Sun\MessageQueue\var\instances). After installing Message Queue 4.2, remove any references to uninstalled versions’ IMQ_HOME\bin directories from the system’s PATH environment variable and add the new Message Queue 4.2 installation’s IMQ_HOME\bin directory.
Message Queue 4.2 is generally compatible with Message Queue Versions 3.6 and 3.7. However, changes have been made in broker properties, administered objects, persistence schemas, file locations, and administration tools that can affect migration from the earlier versions to Version 4.2.
The Message Queue 4.2 Installer does not remove or overwrite the Message Queue 3.6 or 3.7 IMQ_VARHOME directory. This directory contains configuration and security-related files (see Broker Compatibility). Most of this data is compatible with Message Queue 4.2, and can be preserved using the instructions in the following sections.
Compatibility issues that you may need to address when migrating from Message Queue 3.6 or 3.7 to Message Queue 4.2 include the following:
A Message Queue 4.2 message broker will interoperate with one from Versions 3.0.x, 3.5, 3.6, or 3.7, and is able to migrate data from Versions 3.6 or 3.7. 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.7 data is fully compatible with Message Queue 4.2 and requires no migration.
Message Queue 3.6 data is generally compatible with Message Queue 4.2 and requires no migration.
Data from Message Queue 3.5 must be migrated by upgrading to Message Queue 3.6 or later before installing Message Queue 4.2.
When upgrading from Message Queue 3.6 or 3.7 to Message Queue 4.2, 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 4.2 brokers.
Any persistent Message Queue 3.6 or 3.7 data (messages, destinations, and durable subscriptions) is automatically converted to Message Queue 4.2 data when starting up a Message Queue 4.2 broker for the first time. For example, existing destinations will be converted to Message Queue 4.2 destinations, preserving existing attributes and using default values for new attributes.
For Message Queue 3.6, the automatic upgrade leaves the original data intact in its original location. You can delete this data in either of the following ways:
Use the Broker utility’s -upgrade-store-nobackup option when starting up the Message Queue 4.2 broker for the first time:
imqbrokerd -upgrade-store-nobackup
Manually delete the old file-based persistent data store, located at
…/instances/instanceName/fs350
If you mix Message Queue 3.5, 3.6, or 3.7 brokers together with Message Queue 4.2 brokers in a cluster, the master broker must be of the oldest version in the cluster, and the cluster will run as a cluster of that oldest version.
Message Queue 4.2 message brokers and Java clients (applications and components) are two-way compatible with those from Message Queue 3.6 or 3.7: that is, a Message Queue 4.2 broker will support a Message Queue 3.6 or 3.7 Java client, and a Message Queue 4.2 Java client can connect to a Message Queue 3.6 or 3.7 broker. Expanded Message Queue 4.2 capabilities are unavailable in such cases, however.
Message Queue 4.2 administered objects have been enhanced with new attributes, and some attributes have been renamed from earlier versions. Although you can continue to use object stores and administered objects created in Message Queue 3.6 or 3.7, it is best to upgrade your administered objects after installing Message Queue 4.2.
When performing an update operation, the Administration Console (imqadmin) and the Object Manager utility (imqobjmgr) will automatically convert administered objects from Versions 3.6 and 3.7 to Message Queue 4.2 form, using default values for the new attributes. The Message Queue 4.2 client runtime will also look up and instantiate administered objects from those earlier versions and convert them for use by Message Queue 4.2 clients, but this will not convert the objects permanently in the object store in which they reside.
Existing Message Queue clients that directly instantiate administered objects are compatible with Message Queue 4.2. For attributes that have been renamed in Message Queue 4.2, the old names will still work. (Recompiling the client with Message Queue 4.2 will show which attributes have been renamed.) However, clients will need to be rewritten if they are to use any of the new administered object attributes. Similarly, scripts that start Java clients and set administered object attribute values using command line options are compatible with Message Queue 4.2,but must be rewritten in order to use the new attributes.
Because of the addition of new commands and new administrative capabilities, the Message Queue 4.2 administration tools (Administration Console and command line utilities) will work only with Message Queue 4.2 brokers. All commands and command options from earlier Message Queue versions remain supported, however.
Before proceeding to install Message Queue 4.2, be sure to consult the section Installation Issues in Sun Java System Message Queue 4.2 Release Notes for the latest information on issues and limitations affecting Message Queue 4.2 installation. The Release Notes are also an important general resource for up-to-date code and documentation changes, open bugs, and important technical notes relating to the current Message Queue release.
In addition, the following sources provide further useful information on Sun Java System Message Queue:
For information on where to find documentation, news, and updates and how to send feedback, see the README file included in your Message Queue installation.
For an introduction to Message Queue concepts, see the Message Queue Technical Overview.
For details on configuring brokers and managing a Message Queue messaging system, see the Message Queue Administration Guide.
For an introduction to writing and compiling Message Queue client applications, see the Message Queue Developer’s Guide for Java Clients or the Message Queue Developer’s Guide for C Clients.
For information on the Message Queue Java Management Extensions (JMX) API, see the Message Queue Developer’s Guide for JMX Clients.
For class and member information useful when writing a client application, browse the API documentation in JavaDoc format included in your Message Queue installation; see Table P–6 for locations, depending on your platform.