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 application server 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 WebSphere Application Server.