This topic describes the general considerations for migrating from Version 5 embedded messaging to the Version 6 default messaging provider. These general considerations apply to the related migration tasks.
When migrating a WebSphere® Application Server Version 5 node to Version 6, you do not need to make any changes to JMS applications; they can continue to use their same deployment and installation, and their same configurations of Version 5 JMS resources (with one exception given in You do not need to change Version 5 JMS resource definitions).
The applications can continue to use the same JMS API classes and listener ports, but rather than communicating to a WebSphere MQ queue manager, the applications communicate with a messaging engine on a service integration bus.
When migrating a WebSphere Application Server Version 5 node to Version 6, you do not need to make any changes to JMS resource definitions. JMS applications can continue to use their same configurations of Version 5 JMS resources, with the following exception.
The exception to this is for JMS applications that use the Version 5 embedded messaging provider's DIRECT port for publish/subscribe messaging, as set on the WebSphere topic connection factory. If any Version 5 WebSphere topic connection factory has the Port property set to DIRECT, change it to QUEUED before use with the Version 6 default messaging provider.
If a node is migrated to WebSphere Application Server Version 6, the JMS resources are not changed, except to use the Version 6 naming convention. That is, the administrative name for the Version 5 embedded messaging JMS resources is changed from WebSphere JMS Provider resources to V5 Default Messaging resources.
Listener ports are copied over unmodified from the Version 5 configuration, and are used on the WebSphere Application Server Version 6, whenever the associated V5 Default Messaging resources are used.
After migration, the JMS resources are implemented through the WebSphere Application Server Version 6 default messaging provider. You can use the Version 6 administrative console to manage the JMS resources as Version 5 default messaging JMS resources. For example, in the Version 6 WebSphere Application Server administrative console you can list Version 5 default messaging JMS queue connection factories can be managed by
You should replace Version 5 default messaging JMS resources with equivalent version 6 default messaging provider JMS resources as soon as is conveniently possible (after all JMS applications using those resources have been moved onto WebSphere Application Server Version 6). This enables you to benefit from the better performance of the Version 6 default messaging provider, and to exploit the use of multiple messaging engines in a service integration bus, and other default messaging functions enabled by service integration technologies.
You can replace JMS resources manually, for example by using the WebSphere administrative console. Alternatively, you can replace the resources programmatically, for example by some scripting that retrieves the Version 5 property values then creates Version 6 JMS resources with values appropriate to your Version 6 environment and your use of the Version 5 properties.
New JMS resources should be created as Version 6 JMS resources. Any wsadmin or JMX scripts that create Version 5 JMS resources need to be changed to create Version 6 JMS resources for use in WebSphere Application Server Version 6.
JMS client applications that have JMS resources configured using the Application Client Resource Configuration Tool (ACRCT) in WebSphere Application Server Version 5 should continue to work without change with WebSphere Application Server Version 6.
You should replace Version 5 default messaging JMS resources with equivalent version 6 default messaging provider JMS resources as soon as is conveniently possible (after all the application servers have been migrated onto WebSphere Application Server Version 6). You should use the Version 6 ACRCT to replace the JMS resources and to create any new JMS resources. New JMS resources should be created as Version 6 JMS resources.
When migrating a WebSphere Application Server Version 5 node to Version 6, any messages (and knowledge of durable subscriptions) held by the JMS server are not migrated automatically. Whether you need to drain all the JMS queues depends upon your migration strategy.
For each JMS queue defined on the JMS server, the migration process automatically creates a new bus queue with the same name as the Version 5 JMS queue, and creates a message point assigned to the messaging engine. Messages sent to the JMS queues are stored and processed at the message point.
A JMS application that uses a message-driven bean and its listener port in WebSphere Application Server Version 5 can continue to use the listener port without change in WebSphere Application Server Version 6. However, the message listener service uses the Application Server Facilities (ASF), which are an optional part of the JMS specification. Also, ASF is not supported by the service integration technologies on which the Version 6 default messaging provider is implemented.
The Version 6 default messaging provider is implemented as a J2EE Connector Architecture (JCA) resource adapter, for which inbound connectivity is configured as an activation specification. Therefore, as soon as is conveniently possible, you should replace any listener port with a JMS activation specification for use by MDB applications with the Version 6 default messaging provider.
If you used the listener port retry count in WebSphere Application Server Version 5, there is one extra consideration. The Java™ Connection Architecture has no concept of a listener port retry count, so this is not supported by the Version 6 default messaging provider. This should not present a problem because the Version 6 default messaging provides destinations with a "Maximum failed deliveries" setting. This defines the maximum number of times that the service tries to deliver a message to the destination before forwarding it to the exception destination. Although applications do not need to be changed, any wsadmin or JMX scripts that make use of the listener port retry count need to be changed to make use of the "Maximum failed deliveries" setting for use in WebSphere Application Server Version 6.
Version 5 JMS applications access JMS resources through a JMS server, which acts as one or more queue managers. The WebSphere Application Server Version 6 default messaging provider uses fully-integrated Java technology, and needs no JMS server.
Version 5 embedded messaging uses WebSphere MQ technology, and for communication uses WebSphere MQ client protocols. The WebSphere Application Server Version 6 default messaging provider uses fully-integrated Java technology, and JMS applications access JMS resources through the messaging engines on a service integration bus.
Version 5 JMS applications can use resources on a service integration bus through a WebSphere MQ client link assigned to a messaging engine on the service integration bus. The WebSphere MQ client link is provided only for use with JMS applications developed for WebSphere Application Server Version 5. This link presents itself as a queue manager and transforms between the WebSphere MQ client protocols used by Version 5 JMS applications and the WebSphere Application Server Version 6 protocols used by messaging engines. This link can be used to access JMS resources that have a destination anywhere on the bus or on any other connected bus.
Property | Value |
---|---|
Name | Default.MQClientLink |
Description | Default MQ Client Link |
Queue manager name | WAS_nodeName_jmsserver |
Channel name | WAS.JMS.SVRCONN |
This following figure shows an example single-node scenario after migrating the node to WebSphere Application Server Version 6. The JMS resources are now managed as Version 5 default messaging JMS resources implemented by the Version 6 default messaging provider. Also, a WebSphere MQ client link and bus queue have been created and assigned to the messaging engine, to enable Version 5 JMS applications to use the JMS resources.
Existing WebSphere Application Server Version 5 client applications using Version 5 connection factory and destination definitions use the WMQI wildcard convention. Such applications can connect to the default messaging provider and service integration bus, and automatically have their wildcard syntax mapped to the XPath convention when subscriptions are created. Any display of these subscriptions through a Version 6 administrative interface shows the XPath syntax.
When upgrading from WebSphere Application Server Version 5 to Version 6, the Embedded Messaging configuration scripts are retained, but have no influence on the WebSphere Application Server Version 6 default messaging provider and fail if run. Do not run the scripts. Failure of the scripts can appear to be a failure of the WebSphere Application Server Version 6 installation, but no damage or action to the WebSphere Application Server installation results from running the scripts.