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.
About 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
MDB application scenario before replacing the Version 5 JMS resources with Version 6 JMS resources.
- 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:
Procedure
- 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 J2EE Connector Architecture (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.
Results
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.