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 WebSphere® MQ. This task explains
how to configure WebSphere Application
Server to use non-ASF mode to processes messages.
Before you begin
Note: Non-ASF mode cannot be selected on z/OS® systems.
About this task
The properties of an activation specification determine
how a message drive bean (MDB) receives JMS messages from a WebSphere 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.
Procedure
- Start the WebSphere Application
Server administrative console.
- In the navigation pane, select .
- Optional: In the Activation specifications pane,
change the Scope setting to the level at which
the resource definition is visible to applications.
- Select the specific WebSphere MQ
messaging provider JMS resource name for which you want to specify
the custom property. This displays information about the resource.
- Click the JMS resource name and open the Configuration page.
- Under the Additional Properties section,
click Custom properties.
- In the Custom properties page, create
two custom properties: nonASFTimeout and nonASFRollbackEnabled.
- nonASFTimeout
- The 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.
- nonASFRollbackEnabled
- By default this is true. If set to true and nonASFTimeout is
greater than zero, messages are backed out on failure. If set to false
messages are received outside the transactional scope and are lost
on failure.
- In the Name field, type nonASFTimeout.
- In the Value field, type a positive
number.
- In the Type field, select the java.lang.Integer type
from the list.
- In the Name field, type nonASFRollbackEnabled.
- In the Value field, type true.
- In the Type field, select the java.lang.Boolean type
from the list.
- Save your changes to the master configuration.
- To activate the changed configuration, stop and then restart
the application server.
Results
You have configured the properties of a WebSphere MQ messaging provider activation
specification to use non-ASF mode.
Note: When using non-ASF mode, you
must ensure that you 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.