Message listener service custom properties
To set an optional set of name and value pairs for custom properties of the message listener service.
Servers | Server Types | WebSphere application servers | server_name | [Communications] Messaging | Message Listener Service | Custom Properties
Use the Custom properties page to define the following properties for use by the message listener service.
- DYNAMIC.CONFIGURATION.ENABLED
- MAX.RECOVERY.RETRIES
- MQJMS.POOLING.THRESHOLD
- MQJMS.POOLING.TIMEOUT
- NON.ASF.BMT.ROLLBACK.ENABLED
- NON.ASF.RECEIVE.TIMEOUT
- RECOVERY.RETRY.INTERVAL
- DYNAMIC.CONFIGURATION.ENABLED
- Whether the appserver on which a listener port is created requires to be restarted. Set this property to true to enable dynamic configuration.
Data type Boolean Default False (not selected)
- MAX.RECOVERY.RETRIES
The maximum number of times that a listener port managed by this service tries to recover from a failure before giving up and stopping. When stopped the associated listener port is changed to the stop state. The interval between retry attempts is defined by the RECOVERY.RETRY.INTERVAL custom property.
A failure can be one of two things:
- An unexpected error has occurred when a listener port tries to get a message from the JMS provider.
- The connection between the appserver and the JMS provider has been lost, usually due to a network error.
Data type Integer Units Retry attempts Default 5 Range 0 (no retries) through 2147483647
- MQJMS.POOLING.THRESHOLD
- The maximum number of unused connections in the pool.
An MQSimpleConnectionManager allocates connections on a most-recently-used basis, and destroys connections on a least-recently-used basis. By default, a connection is destroyed if there are more than ten unused connections in the pool.
Data type Integer Units Number of connections Default 10 Range
- MQJMS.POOLING.TIMEOUT
- The number of milliseconds after which a connection in the pool is destroyed if it has not been used.
An MQSimpleConnectionManager allocates connections on a most-recently-used basis, and destroys connections on a least-recently-used basis. By default, a connection is destroyed if it has not been used for five minutes.
Data type Integer Units Milliseconds Default 5 minutes Range
- NON.ASF.BMT.ROLLBACK.ENABLED
When false (default), and MDBs using bean-managed transactions generate runtime exceptions, the message is automatically acknowledged before it is passed to the MDB.
When true, and MDBs using bean-managed transactions generate runtime exceptions, the message listener service sends a message acknowledgement to the client after the message is successfully processed by the message-driven bean, and the message listener service requests recovery of any message for which the bean generates an exception.
The message listener service has two modes of operation:
Application Server Facilities (ASF) Provides concurrency and transactional support for applications. For publish/subscribe message-drive beans, ASF mode provides better throughput and concurrency, because in the non-ASF mode the listener is single-threaded. non-Application Server Facilities (non-ASF) messaging providers that do not support JMS ASF, which is an optional extension to the JMS specification. Non-ASF mode is also transactional but, because the path length is shorter than for ASF mode, usually provides improved performance. Use non-ASF mode under the following circumstances:
- The third-party messaging provider does not provide JMS ASF support.
- We are using message-driven beans with WebSphere topic connections with the DIRECT port, because the embedded publish/subscribe broker using that port does not support XA transactions or JMS ASF.
- Message ordering is a strict requirement.
Data type Boolean Default False
- NON.ASF.RECEIVE.TIMEOUT
- The timeout in milliseconds for synchronous message receives performed by message-driven bean listener sessions in the non-ASF mode of operation.
Set this property to a non-zero value only to enable the non-ASF mode of operation for all message-driven bean listeners on the application server.
The message listener service has two modes of operation, Application Server Facilities (ASF) and non-Application Server Facilities (non-ASF):
- ASF mode provides concurrency and transactional support for applications. For publish/subscribe message-drive beans, ASF mode provides better throughput and concurrency, because in the non-ASF mode the listener is single-threaded.
- Non-ASF mode is mainly for use with third-party messaging providers that do not support JMS ASF, which is an optional extension to the JMS specification. Non-ASF mode is also transactional but, because the path length is shorter than for ASF mode, usually provides improved performance.
Use non-ASF mode under the following circumstances:
- The third-party messaging provider does not provide JMS ASF support.
- We are using message-driven beans with WebSphere topic connections with the DIRECT port, because the embedded publish/subscribe broker using that port does not support XA transactions or JMS ASF.
- Message ordering is a strict requirement.
Data type Integer Units Milliseconds Default ASF mode (custom property not created) Range 0 or greater milliseconds
- 0
- non-ASF mode is disabled
- 1 or more
- The timeout in milliseconds for non-ASF message-driven bean listener synchronous session receives
Recommended If a transaction timeout occurs, the message must recycle causing extra work. To use the non-ASF mode, set this property to lower than the transaction timeout, but leave spare at least the maximum duration of the message-driven bean onMessage() method. For example, if the message-driven bean onMessage() method typically takes a maximum of 10 seconds, and the transaction timeout is set to 120 seconds, we might set the NON.ASF.RECEIVE.TIMEOUT property to no more than 110000 (110000 milliseconds, that is 110 seconds).
- RECOVERY.RETRY.INTERVAL
- The time in seconds between retry attempts by a listener port to recover from a failure. The maximum number of retry attempts is defined by the MAX.RECOVERY.RETRIES custom property.
A failure can be one of two things:
- An unexpected error has occurred when a listener port tries to get a message from the JMS provider.
- The connection between the appserver and the JMS provider has been lost, usually due to a network error.
Data type Integer Units Seconds Default 60 Range 1 through 2147483647
Related
Message listener service