Guidelines, related to versions of WebSphere® Application Server, to help you choose
when to configure your message-driven beans to work with listener
ports rather than activation specifications.
You
can configure the following resources for message-driven beans:
- Activation
specifications for message-driven beans that comply
with Java EE Connector Architecture (JCA) Version
1.5.
- The message listener service, listener ports, and listeners
for
any message-driven beans that you want to deploy against listener
ports.
Activation specifications are the standardized way to manage and
configure the relationship between an MDB running in WebSphere Application Server and a destination
in WebSphere MQ. They combine the configuration
of connectivity, the Java Message Service (JMS) destination and the
runtime characteristics of the MDB, within a single object.
Activation specifications supersede the use of
listener ports, which became a stabilized feature in
WebSphere Application Server Version 7.0 (for
more information, see
Stabilized features). There
are several advantages to using activation specifications over listener
ports:
- Activation specifications are simple to configure, because they
only require two objects: the activation specification and a message
destination. Listener ports require three objects: a connection factory,
a message destination, and the message listener port itself.
- Activation specifications are not limited to the server scope.
They can be defined at any administrative scope in WebSphere Application Server. Message listener
ports must be configured at the server scope. This means that each
server in a node requires its own listener port. For example, if a
node is made up of three servers, three separate listener ports must
be configured. Activation specifications can be configured at the
node scope, so in the example only one activation specification would
be needed.
- Activation specifications are part of the Java Platform, Enterprise Edition Connector
Architecture 1.5 and 1.6 standards specification (JCA 1.5 and 1.6).
Listener port support in WebSphere Application Server makes use of the
application server facilities interfaces defined in the JMS specification,
but is not part of any specification itself.
For WebSphere Application Server Version 7 and later, listener ports are stabilized. For more information, read the article on stabilized features. You should plan to migrate your WebSphere MQ message-driven bean deployment configurations from using listener ports to using activation specifications. However, you should not begin this migration until you are sure the application does not have to work on application servers earlier than WebSphere Application Server Version 7. For example, if you have an application server cluster with some members at Version 6.1 and some at a later version, you should not migrate applications on that cluster to use activation specifications until after you migrate all the application servers in the cluster to the later version.
If you want to use message-driven beans with a messaging provider that does not have a JCA Version 1.5 or 1.6 resource adapter, you cannot use activation specifications and therefore you must configure your beans against a listener port. There are also a few scenarios in which, although you could use activation specifications, you might still choose to use listener ports. For example, for compatibility with existing message-driven bean applications. Here
are some guidelines, related to versions of WebSphere Application Server, to help you choose
when to use listener ports rather than activation specifications:
- WebSphere Application Server Version
4 does not support message-driven beans, so listener ports and activation
specifications are not applicable. WebSphere Application Server Version 4 does
support message beans, but these are not message-driven beans.
- WebSphere Application Server Version
5 supports EJB 2.0 (JMS only) message-driven beans that are deployed
using listener ports. This deployment technology is sometimes called
application server facility (ASF).
- WebSphere Application Server Version 6 continues
to support message-driven beans that are deployed to use listener
ports, and also supports JCA, which you can use to deploy message-driven
beans that use activation specifications. This gives you the following
options for deploying message-driven beans on WebSphere Application Server Version 6:
- You
must deploy default messaging (service integration bus) message-driven
beans to use activation specifications.
- You must deploy WebSphere
MQ message-driven beans to use listener
ports.
- You can deploy third-party messaging message-driven
beans to use
either listener ports or activation specifications, depending on the
facilities available from your third-party messaging provider.
- WebSphere Application Server Version 7.0 or later continues to support
the same options for message-driven bean deployment that WebSphere Application Server Version 6 supports,
and adds a new option for WebSphere MQ message-driven beans. This
gives you the following options for deploying message-driven beans
on Version 7.0 or later:
- You
must deploy default messaging (service integration bus) message-driven
beans to use activation specifications.
- You can deploy new
and existing WebSphere MQ message-driven beans
to use listener ports (as on WebSphere Application Server Version 6) or
to use activation specifications.
- You can deploy third-party
messaging message-driven beans to use
either listener ports or activation specifications, depending on the
facilities available from your third-party messaging provider.
To assist in migrating listener ports to activation
specifications, the WebSphere Application Server administrative
console provides a Convert listener port to activation
specification wizard on the Message listener port collection
panel. This allows you to convert existing listener ports into activation
specifications. However, this function only creates a new activation
specification with the same configuration used by the listener port.
It does not modify application deployments to use the newly created
activation specification.