Configure activation specifications for non-ASF mode
Activation specifications are the standardized way to manage and configure the relationship between a message driven bean (MDB) running in WebSphere Application Server and a destination in IBM MQ. This task explains how to configure WAS to use non-ASF mode to processes messages.
Non-ASF mode cannot be selected on z/OS systems.
The properties of an activation specification determine how a message drive bean (MDB) receives JMS messages from an IBM MQ queue. To configure non-ASF mode, define the properties of one or more activation specifications.
To configure non-ASF, set the Activation Specification custom property nonASFTimeout to a positive integer, that indicates that non-ASF delivery is used. The value is the time, in milliseconds, that a get request waits for messages that might not have yet arrived (a get with wait call). The default value, 0, indicates that ASF delivery is used.
Configure activation specifications for non-ASF mode
- Start the WAS appservers administrative console and go to...
Resources > JMS > Activation specifications > Scope > IBM MQ messaging provider JMS resource > Configuration > Additional Properties > Custom properties
- In the Custom properties page, create two custom properties:
Name Description Value nonASFTimeout Time in milliseconds to wait in a synchronous get to consume a message. By default this is zero, if set to a positive number, then a number of threads specified by the server session pool size are used to get messages. Positive number. nonASFRollbackEnabled Default is true. If true and nonASFTimeout is greater than zero, messages are backed out on failure. If false messages are received outside the transactional scope and are lost on failure. java.lang.Boolean - type true. - Save changes to the master configuration.
- To activate the changed configuration, stop and then restart the application server.
We have configured the properties of a IBM MQ messaging provider activation specification to use non-ASF mode.
When using non-ASF mode, ensure that we allow a sufficient amount of time for processing to be completed before the total transaction lifetime timeout is reached, in order to avoid unwanted transaction time-outs.
Related:
Message-driven beans - automatic message retrieval Message processing in ASF mode and non-ASF mode How messages are processed in non-ASF mode ASF and non-ASF mode Configure the resource adapter for inbound communication Message listener service