This topic provides an example of the migration of an MDB (message-driven
bean) application on a Version 6 node, from using Version 5 default messaging
JMS resources and listener port to Version 6 default messaging provider JMS
resources including JMS activation specification.
Why and when to perform this task
This topic provides a contextual description of the migration,
then a summary of the steps involved.
This
example follows on from the example described in Example: Migrating an MDB application from Version 5 embedded messaging - stage 1.
Consider the example scenario, before replacing
the Version 5 JMS resources with Version 6 JMS resources, shown in the following
figure
Figure 1.
- The JMS resources, a JMS queue connection factory (PPQCF) and JMS queues
(InQ and OutQ), are managed as Version 5 default messaging JMS resources.
For example, on the Version 6 WebSphere Application Server administrative console, display the
queue connection factory by completing the following steps:
- Click . The list view shows the
currently configured providers.
- Select the provider for which you want to display the queue connection
factory.
- In the content pane, under the Additional properties heading, click Queue
connection factories. The list view shows the queue connection
factories configured for that provider.
- Click the required queue connection factory.
- On the Version 6 WebSphere Application Server administrative console, display the listener
port by clicking
To replace the Version 5 default messaging JMS resources with
equivalent Version 6 default messaging provider JMS resources, complete the
following steps:
Steps for this task
- Delete the Version 5 JMS resources:
- Display the collection list of Version 5 JMS queue connection
factories. Click
- Select the check box next to the queue connection factory, PPQCF.
- Click Delete
- Click OK.
- Display the collection list of Version 5 JMS queues. Click
- Select the check box next to the queues, INQ and OUTQ.
- Click Delete
- Click OK
- Save your changes to the master configuration.
- Create a Version 6 JMS queue connection factory to replace the
Version 5 JMS queue connection factory. [If you want to use a unified
JMS connection factory instead of the domain-specific JMS queue connection
factory, you would need to rewrite the MDB application to use JMS 1.1 interfaces.]
For example, use the Version 6 WebSphere Application Server administrative console to complete
the following steps:
- Display the collection list of JMS queue connection factories for the
default messaging provider. Click
- Click New
- On the New JMS queue connection factory page, set the following
properties:
Name: |
PPQCF |
JNDI Name: |
jms/SamplePPQCF |
Bus name |
wasA |
All other properties have default settings. The name and JNDI
name properties match the same properties on the Version 5 JMS queue connection
factory. The connection factory creates connections to the service integration
bus called wasA.
- Click OK.
- Save your changes to the master configuration.
- Create Version 6 JMS queues to replace the Version 5 JMS queues For example, use the Version 6 WebSphere Application Server administrative console to complete
the following steps for the input JMS queue:
- Display the collection list of JMS queues for the default messaging provider. Click
- Click New
- On the New JMS queue page, set the following properties for
the JMS queue called InQ that is backed by the existing bus destination also
called InQ:
Name: |
InQ |
JNDI Name: |
jms/SampleInputQueue |
Queue name: |
InQ |
All other properties have default settings. The Queue name property
specifies the name of the bus queue that is used to store and process messages
for the JMS queue.
- Click OK This returns
you to the collection list of JMS queues.
- Click New
- On the New JMS queue page, set the following properties for
the JMS queue called OutQ that is backed by the existing bus destination also
called OutQ:
Name: |
OutQ |
JNDI Name: |
jms/SampleOutputQueue |
Queue name: |
OutQ |
All other properties have default settings. The Queue name property
specifies the name of the bus queue that is used to store and process messages
for the JMS queue.
- Click OK.
- Save your changes to the master configuration.
- Create a JMS activation specification to replace the Version 5
listener port. The JMS activation specification is used to deploy the MDB
application as a JCA 1.5-compliant resource, as a listener on the JMS queue
InQ. For example, use the Version 6 WebSphere Application Server administrative console
to complete the following steps:
- Display the collection list of JMS activation specifications for the
default messaging provider. Click
- Click New
- On the New JMS activation specification page, set the following
properties:
Name: |
PPAS |
Name: |
jms/SamplePPAS |
Destination JNDI Name: |
jms/SampleInputQueue |
All other properties have default settings.
- Click OK This returns
you to the collection list of JMS activation specifications.
- Save your changes to the master configuration.
- Save your changes to the master configuration. After replacing the Version 5 JMS resources with Version 6 equivalents,
the MDB application scenario becomes as shown in the following figure:
- Redeploy the MDB application to use the JMS activation specification,
as described in Deploying and managing applications. Ensure you select the Do not overwrite existing bindings option.
Accept
the defaults for all installation steps except for the following:
- Delete the Listener Port binding
- Set the activation specification binding to jms/SamplePPAS
- Click OK.
- If no other Version 5 applications use the WebSphere MQ client
link, delete it.
- Display the list of WebSphere MQ client links for the messaging
engine. Click
- Select the check box next to the link, Default.MQClientLink.
- Click Delete
- Click OK
- Save your changes to the master configuration.
You should now be able to use the MDB application with the version
6 JMS resources. On the Enterprise Applications panel, ensure that the MDB
application is started. There should be no errors displayed in the console
at this point. If there are any errors, check the SystemOut log for more information
about the problem.