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.