+

Search Tips   |   Advanced Search

Message-driven bean deployment descriptor properties

Here are the deployment descriptor properties that are used for message-driven beans.

Transaction type

Whether the message-driven bean manages its own transactions or the container manages transactions on behalf of the bean.

Bean

The message-driven bean manages its own transactions

Container

The container manages transactions on behalf of the bean

Message selector

The JMS message selector to be used to determine which messages the message-driven bean receives; 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.

Acknowledge mode

How the session acknowledges any messages it receives.

This property applies only to message-driven beans that uses bean-managed transaction demarcation (Transaction type is set to Bean).

Auto Acknowledge

The session automatically acknowledges a message when it has either successfully returned from a call to receive, or the message listener it has called to process the message successfully returns.

Dups OK Acknowledge

The session lazily acknowledges the delivery of messages. This is likely to result in the delivery of some duplicate messages if JMS fails, so it should be used only by consumers that are tolerant of duplicate messages.

As defined in the EJB specification, clients cannot use using Message.acknowledge() to acknowledge messages. If a value of CLIENT_ACKNOWLEDGE is passed on the createxxxSession call, then messages are automatically acknowledged by the appserver and Message.acknowledge() is not used.

Destination type

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

Queue

The message-driven bean uses a queue destination.

Topic

The message-driven bean uses a topic destination.

Subscription durability

Whether a JMS topic subscription is durable or nondurable.

Durable

A subscriber registers a durable subscription with a unique identity that is retained by JMS. Subsequent subscriber objects with the same identity resume the subscription in the state it was left in by the earlier subscriber. If there is no active subscriber for a durable subscription, JMS retains the subscription's messages until they are received by the subscription or until they expire.

Nondurable

Non-durable subscriptions last for the lifetime of their subscriber object. This means that a client sees the messages published on a topic only while its subscriber is active. If the subscriber is not active, the client is missing messages published on its topic.

A non-durable subscriber can only be used in the same transactional context (for example, a global transaction or an unspecified transaction context) that existed when the subscriber was created. For more information about this context restriction, see The effect of transaction context on non-durable subscribers.

ActivationSpec name

Type the JNDI name of the J2C activation specification that is to be used to deploy this message-driven bean. This name must match the name of an activation specification that you define to WAS.



 

Related tasks


Developing an enterprise application to use message-driven beans

 

Reference topic