To support message-driven beans deployed against listener ports, you must configure the properties of the message listener service for your application server.
If you want to use message-driven beans with a messaging provider that does not have a JCA 1.5 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.
If you have existing message-driven beans that use the WebSphere MQ messaging provider (or a compliant third-party JMS provider) with listener ports, and instead you want to use EJB 3 message-driven beans with listener ports, these new beans can continue to use the same messaging provider.
For more information about when to use listener ports rather than activation specifications, see Message-driven beans, activation specifications, and listener ports.
Before configuring message listener resources, consider the message listener service implementation on the z/OS® platform, which affects how you should configure your listener port. For more information, see Message listener service on z/OS.
The message listener service is an extension to the JMS functions of the JMS provider and provides a listener manager, which controls and monitors one or more JMS listeners. Each listener monitors either a JMS queue destination (for point-to-point messaging) or a JMS topic destination (for publish/subscribe messaging). For more information, see Message-driven beans - listener port components.
When you deploy an enterprise application to use message-driven beans with listener ports, you can browse or change the configuration of the message listener service for a given application server.
If your messaging system is running in non-ASF mode, to avoid unwanted transaction timeouts, you must allow a sufficient amount of time for processing to be completed before the total transaction lifetime timeout is reached. Therefore, you must make sure that the value that you specify for the NON.ASF.RECEIVE.TIMEOUT message listener service custom property is smaller than the value that you specify for the Total transaction lifetime timeout transaction service property, and also that the difference between the values of the two properties is greater than the amount of time that the onMessage() method of the message-driven bean (MDB) takes to process the message.
In this information ...Subtopics
Related concepts
Related tasks
Related reference
| IBM Redbooks, demos, education, and more(Index) |