JMS activation specification [Settings]

A JMS activation specification is associated with one or more message-driven beans and provides the configuration necessary for them to receive messages.

To view this pane in the console, click the following path:

Resources > JMS providers > Default messaging > [Activation Specifications] JMS activation specification > activation_specification_name .

Use this panel to browse or change the configuration properties of the selected JMS activation specification for use with the default messaging JMS provider.

A JMS activation specification is used to provide configuration information when a JMS endpoint (message-driven bean application) is deployed and activated against the default messaging provider.

All properties apart from Name, JNDI name, Destination JNDI name, and Authentication alias are overridden by appropriately named activation-configuration properties in the deployment descriptor of an associated EJB 2.1 message-driven bean. For an EJB 2.0 message-driven bean, the Destination type, Subscription durability, Acknowledge mode and Message selector are overridden by the corresponding elements in the deployment descriptor. For either type of bean the Destination JNDI name can be overridden by a value specified in the message-driven beans bindings.

Configuration tab

Configuration properties for this object. These property values are preserved even if the runtime environment is stopped then restarted. See the information center task descriptions for information about how to apply configuration changes to the runtime environment.

General properties

Scope

Specifies the highest topological level at which application servers can use this resource object.

The scope displayed is for information only, and cannot be changed on this panel. If you want to browse or change this resource (or other resources) at a different scope, change the scope on the messaging provider settings panel, then click Apply, before clicking the link for the type of resource.

Required Yes
Data type Text

Name

The required display name for the resource.

Required Yes
Data type Text

JNDI name

The JNDI name for the resource.

Type the JNDI name that is specified in the bindings for message-driven beans associated with this activation specification
Required Yes
Data type Text

Destination type

Whether the message-driven bean uses a queue or topic destination.

Required Yes
Data type drop-down list
Default Queue
Range
Queue
The message-driven bean uses a JMS queue. The JNDI name of the JMS queue is specified on the Destination JNDI name property.

Topic
The message-driven bean uses a JMS topic. The JNDI name of the JMS topic is specified on the Destination JNDI name property.

Destination JNDI name

JNDI Name of destination

Type the JNDI name that the message-driven bean uses to look up the JMS destination in the JNDI namespace.

Select the type of destination on the Destination type property.

Required Yes
Data type Text

Message selector

The JMS message selector used to determine which messages the message-driven bean receives. The value is a string that is used to select a subset of the available messages. The syntax is based on a subset of the SQL 92 conditional expression syntax, as described in the JMS specification. Refer to the InfoCenter for more information.

The value for a message selector property is a string that is used to select a subset of the available messages. The syntax is based on a subset of the SQL 92 conditional expression syntax, as described in the JMS specification.
For example:
JMSType='car' AND color='blue' AND weight>2500

The selector string can refer to fields in the JMS message header and fields in the message properties. Message selectors cannot reference message body values.

A null value (an empty string) indicates that there is no message selector for the message consumer.

Required No
Data type Text
Default Null

Bus name

The name of the bus to connect to.

Type the name of the service integration bus to which connections are made. This must be the name of the bus on which the bus destination identified by the Destination JNDI name property is defined.
Required No
Data type Custom

Acknowledge mode

How the session acknowledges any messages it receives.

The acknowledge mode indicates how a message received by a message-driven bean should be acknowledged.
Required No
Data type drop-down list
Default Auto-acknowledge
Range
Auto-acknowledge
The session automatically acknowledges the delivery of a message.

Duplicates-ok auto-acknowledge
The session lazily acknowledges the delivery of messages, which can improve performance, but can lead to a message-driven bean receiving a message more than once.

Authentication alias

The name of a J2C authentication alias used for component-managed authentication of connections to the service integration bus.

A J2C authentication alias specifies the user ID and password that is used to authenticate the creation of a new connection to the JMS provider.

Required No
Data type drop-down list

Maximum batch size

The maximum number of messages received from the messaging engine in a single batch.

The maximum number of messages in a single batch delivered serially to a single message-driven bean instance Batching of messages can improve performance particularly when used with Acknowledge mode set to Duplicates-ok auto-acknowledge. If message-ordering must be retained across failed deliveries, set the batch size to 1.
Required No
Data type Text
Default 1

Maximum concurrent endpoints

The maximum number of endpoints to which messages are delivered concurrently.

Increasing this number can improve performance but can increase the number of threads that are in use at any one time. If message ordering must be retained across failed deliveries, set the maximum concurrent endpoints to 1. Message ordering applies only if the destination that the message-driven bean is consuming from is not a partitioned destination. Partitioned destinations are used in a workload sharing scenario in a cluster.
Required No
Data type Text
Default 10

Subscription durability

Whether a JMS topic subscription is durable or nondurable

Normally, only one application at a time can have a consumer for a particular durable subscription. This property enables you to override this behavior, to enable a durable subscription to have multiple simultaneous consumers.
Required No
Data type drop-down list
Default Durable
Range
Durable
The messaging provider stores messages while the message-driven bean is not available, and delivers the messages when the message-driven bean becomes available again.

Nondurable
The messaging provider does not store and redeliver messages if a message-driven bean is not available.

Subscription name

The subscription name needed for durable topic subscriptions. Required field when using a durable topic subscription.

Each JMS durable subscription is identified by a subscription name (specified on this property). A JMS connection also has an associated client identifier (specified on the Client identifier property), which is used to associate a connection and its objects with the list of messages (on the durable subscription) that is maintained by the JMS provider for the client.

This subscription name must be unique within a given client identifier.

Required No
Data type Text

Client identifier

The JMS client identifier needed for durable topic subscriptions on all connections created using this activation specification.

The value specified is a unique identifier for a client (message-driven bean). The client identifier is used to associate a client connection with the list of messages (on a durable subscription) that the messaging provider keeps for the client. When a client becomes available again, after a being unavailable, the messaging provider uses the client identifier to redeliver persisted messages to the correct client.
Required No
Data type Text

Durable subscription home

The name of the messaging engine used to store messages delivered to durable subscriptions for objects created from this JMS activation specification. This is a required field when using a durable topic subscription.

Administrators can manage the runtime state of durable subscriptions through publication points for this messaging engine.
Required No
Data type Text

Share durable subscriptions

Controls whether or not durable subscriptions are shared across connections with members of a server cluster.

Normally, only one session at a time can have a TopicSubscriber for a particular durable subscription. This property enables you to override this behavior, to enable a durable subscription to have multiple simultaneous consumers, one on each application server in the server cluster.
Required No
Data type drop-down list
Default In cluster
Range
In cluster
Allows sharing of durable subscriptions when connections are made from within a server cluster.

Always shared
Durable subscriptions can be shared across connections.

Never shared
Durable subscriptions are never shared across connections.

Target inbound transport chain

The name of the inbound transport chain that the application should target when connecting to a messaging engine in a separate process to the application. If a messaging engine in another process is chosen, a connection can be made only if the messaging engine is in a server that runs the specified inbound transport chain. Refer to the InfoCenter for more information.

Type the name of the transport chain that the application should use when connecting to a messaging engine in separate process to the application. If a messaging engine in another process is chosen, a connection can be made only if the messaging engine is in a server that runs the specified transport chain.

If the selected messaging engine is in the same server as the application, a direct in-process connection is made and this transport chain property is ignored.

The transport chains represent network protocol stacks operating within a server. The name you specify must be one of the transport chains available in the server that hosts the messaging engine, as listed on the Servers > Application servers > [Content Pane] server_name > Messaging engine inbound transports panel. The following transport chains are provided, but you can define your own transport chains on that panel.

InboundBasicMessaging
This is a connection-oriented protocol, using a standard TCP/IP connection (JFAP-TCP/IP). It includes support for two-phase transactional (remote XA) flows, so that a message producer or consumer, running on a client or server system, can participate in a global transaction managed on that client or server system. The specific use for the XA flows is to support access from an application running in one server to a messaging engine on second server, perhaps because the first server does not have a suitable messaging engine. If the remote XA flows are used, a transaction coordinator must be available local to the application.
InboundSecureMessaging
This is the InboundBasicMessaging protocol wrapped in SSL.
Required No
Data type Text
Default Null

Share data source with CMP

Allow sharing of connections between JMS and container-managed persistence (CMP) entity beans.

This option is used as part of the task to enable container-managed persistence (CMP) entity beans to share the database connections used by the data store of a messaging engine. This has been estimated as a potential performance improvement of 15% for overall message throughput, but can only be used for entity beans connected to the application server that contains the messaging engine.

For more information about using this option, see Enabling CMP entity beans and messaging engine data stores to share database connections.

Required No
Data type Check box
Default Cleared

Read ahead

Read ahead is an optimization that preemptively assigns messages to consumers. This improves the time taken to satisfy consumer requests.

Messages that are assigned to a consumer are locked on the server and cannot be consumed by any other consumers for that destination. Messages that are assigned to a consumer, but not consumed before that consumer is closed, are subsequently unlocked on the server and then available for receipt by other consumers.

You can override this property for individual JMS destinations by setting the Read ahead property on the JMS destination.

Required No
Data type drop-down list
Default Default
Range
Default
The message provider preemptively assigns messages to consumers on nondurable subscriptions and unshared durable subscriptions. That is, read ahead optimization is turned on only when there can only be a single consumer.

Enabled
The messaging provider preemptively assigns messages to consumers. This improves the time taken to satisfy consumer requests.

You may not want to select this option if you have multiple clients attempting to receive from the same destination, because it can adversely affect message processing. For example, you allocate five messages to client A, but client A takes a long time processing the first of those messages. Meanwhile client B is available, but doing nothing, and could have been helping out with the other four messages. So, the "Default" behavior is to only have it on when there can only be one client (that is, for nondurable subscriptions and durable subscriptions in a non-clustered environment). However, if you are using a queue but you know that there is only ever one client attached to that queue at any one time, you could override the default behavior by selecting this option.

Disabled
The messaging provider does not preemptively assign messages to consumers.




Reference topic    

Terms of Use | Feedback

Last updated: Sep 20, 2010 10:03:57 PM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=vela&product=was-nd-zos&topic=SIBJMSActivationSpec_DetailForm
File name: SIBJMSActivationSpec_DetailForm.html