Message listener service custom properties
Use this page to view or change custom properties of the message listener service.
To view this administrative console page, click .
- DYNAMIC.CONFIGURATION.ENABLED
- ENABLE.ZOS.LP.RECOVERY
- MAX.RECOVERY.RETRIES
- MDB.THROTTLE.THRESHOLD.LOW.EQUALS.HIGH
- MQJMS.POOLING.THRESHOLD
- MQJMS.POOLING.TIMEOUT
- NON.ASF.RECEIVE.TIMEOUT
- NON.ASF.BMT.ROLLBACK.ENABLED
- RECOVERY.RETRY.INTERVAL
- SERVER.SESSION.POOL.REAP.TIME
- SERVER.SESSION.POOL.UNUSED.TIMEOUT
- SERVER.SESSION.POOL.UNUSED.TIMEOUT.lpname
DYNAMIC.CONFIGURATION.ENABLED
This property controls whether the application server on which a listener port is created requires to be restarted. Set this property to true to enable dynamic configuration.
Information | Value |
---|---|
Data type | Boolean |
Default | False (not selected) |
ENABLE.ZOS.LP.RECOVERY
This property controls listener port behavior when an application server connects to WebSphere MQ for z/OS.
- A listener port to attempt to recover if a connection between the application server and WebSphere MQ has been lost, for example if the queue manager has been stopped. If you do not enable this property, the listener port does not attempt to recover after a queue manager has been stopped.
- Multiple workload management classifications to be configured for a listener port. If you do not enable this property, messages remain on the WebSphere MQ queue when multiple workload management classifications are configured for a listener port.
Restart the server after adding the property.
If you are connecting to WebSphere MQ for z/OS through bindings connections, you also need to apply WebSphere MQ APAR PK53912, which is provided in WebSphere MQ Version 6.0.2.4.
Information | Value |
---|---|
Data type | Boolean |
Default | True (enabled) |
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 property.
- An unexpected error has occurred when a listener port tries to get a message from the JMS provider.
- The connection between the application server and the JMS provider has been lost, usually due to a network error.
Information | Value |
---|---|
Data type | Integer |
Units | Retry attempts |
Default | 5 |
Range | 0 (no retries) through 2147483647 |
MDB.THROTTLE.THRESHOLD.LOW.EQUALS.HIGH
A throttling indicator that allows controller message processing to continue when the low message threshold is reached. When the Message Listener service has been configured with the custom property of MDB.THROTTLE.THRESHOLD.LOW.EQUALS.HIGH and set to a value of "true", the low threshold value is set internally to the high threshold value (which is the externally-set Maximum sessions property of the listener port).
Information | Value |
---|---|
Data type | String |
Default | True |
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.
Information | Value |
---|---|
Data type | Integer |
Units | Number of connections |
Default | 10 |
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.
Information | Value |
---|---|
Data type | Integer |
Units | Milliseconds |
Default | 5 minutes |
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.
- 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.
To enable the non-ASF mode of operation for all message-driven bean listeners on the application server, set this property to a non-zero value.
Non-ASF mode cannot be selected on z/OS systems, so you must not set a non-zero value for this property in this case.
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.
For example, if your message-driven bean onMessage() method typically takes a maximum of 10 seconds, and the transaction timeout is set to 120 seconds, you might set the NON.ASF.RECEIVE.TIMEOUT property to no more than 110000 milliseconds (that is, 110 seconds).
Information | Value |
---|---|
Data type | Integer |
Units | Milliseconds |
Default | ASF mode (custom property not created) |
Range | 0 or greater milliseconds
|
NON.ASF.BMT.ROLLBACK.ENABLED
When the non-Application Server Facilities (non-ASF) mode of operation is in use (because you have set the NON.ASF.RECEIVE.TIMEOUT property to a non-zero value), and a message-driven bean that uses bean-managed transactions generates a runtime exception, the NON.ASF.BMT.ROLLBACK.ENABLED property determines whether messages are returned to the destination.
- 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.
Non-ASF mode cannot be selected on z/OS systems.
When this property is set to false (default), the message is automatically acknowledged before it is passed to the message-driven bean.
When this property is set to true, 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.
Information | Value |
---|---|
Data type | Boolean |
Default | False |
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 property.
- An unexpected error has occurred when a listener port tries to get a message from the JMS provider.
- The connection between the application server and the JMS provider has been lost, usually due to a network error.
Information | Value |
---|---|
Data type | Integer |
Units | Seconds |
Default | 60 |
Range | 1 through 2147483647 |
SERVER.SESSION.POOL.REAP.TIME
The time in seconds between checks on server session pools. To enable server session pool monitoring, set this property to a non-negative value.
The SERVER.SESSION.POOL.REAP.TIME custom property is not applicable if your messaging system is running in non-ASF mode.
Information | Value |
---|---|
Data type | Integer |
Units | Seconds |
Default | -1 (disabled) |
Range | -2147483648 through 2147483647 |
SERVER.SESSION.POOL.UNUSED.TIMEOUT
The default server session pool timeout in seconds.
When this property is set to a non-negative value, it is compared to the time that has elapsed since a server session was used. If the timeout value is less than the elapsed time, the server session is removed from the server session pool and its JMS session is returned to the JMS session pool. For example, if the timeout value is one second and the time that has elapsed since a particular server session was used is two seconds, that server session is removed from the server session pool and its JMS session is returned to the JMS session pool.
The SERVER.SESSION.POOL.UNUSED.TIMEOUT custom property is not applicable if your messaging system is running in non-ASF mode.
Information | Value |
---|---|
Data type | Integer |
Units | Seconds |
Default | -1 (disabled) |
Range | -2147483648 through 2147483647 |
SERVER.SESSION.POOL.UNUSED.TIMEOUT.lpname
This property overrides the default SERVER.SESSION.POOL.UNUSED.TIMEOUT value for the listener port with the name defined for lpname. This value applies to all message-driven beans that use the specified listener port.
If this override is set to a non-negative value, it overrides the SERVER.SESSION.POOL.UNUSED.TIMEOUT property, even if the SERVER.SESSION.POOL.UNUSED.TIMEOUT property has a negative value.
If this override is set to a negative value, it disables server session pool monitoring for the specified listener port.
The SERVER.SESSION.POOL.UNUSED.TIMEOUT.lpname custom property is not applicable if your messaging system is running in non-ASF mode.
Information | Value |
---|---|
Data type | Integer |
Units | Seconds |
Default | Not set |
Range | -2147483648 through 2147483647 |