Configuring the message listener service

To support message-driven beans deployed against listener ports, you must configure the properties of the message listener service for your application server.

Before you begin

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.

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.

[z/OS]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.

About this task

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.

Procedure

  1. Display the listener service settings page:
    1. In the navigation pane, select Servers > Server Types > WebSphere application servers.
    2. In the content pane, click the name of the application server.
    3. Under Communications, click Messaging > Message Listener Service.
  2. Optional: Browse or change the value of properties for the message-driven bean thread pool.
    1. Click Thread Pool.
    2. Change the following properties, as required:
      Minimum size
      The minimum number of threads to allow in the pool.
      Maximum size
      The maximum number of threads to allow in the pool.
      Thread inactivity timeout
      The number of milliseconds of inactivity that should elapse before a thread is reclaimed. A value of 0 indicates not to wait and a negative value (less than 0) means to wait forever.
      Note: The administrative console does not allow you to set the inactivity timeout to a negative number. To do this you must modify the value directly in the config.xml file.
      Allow thread allocation beyond maximum thread size
      Select this check box to enable the number of threads to increase beyond the maximum size configured for the thread pool.
    3. Click OK.
  3. Optional: Specify any message listener service custom properties that you need, as Custom properties of the message listener service.
    1. Click Custom properties
    2. For each custom property, specify the name and value you require.
      If you have not specified a property before:
      1. Click New.
      2. Type the name of the property.
      3. Type the value of the property.
      4. Click OK.
    For more information about these custom properties, see Message listener service custom properties.
  4. Save your changes to the master configuration.
  5. To activate the changed configuration, stop then restart the application server.

Results

You have configured the properties of the message listener service for a given application server.