Configure deployment attributes for a message-driven bean

This page describes how to modify the deployment attributes of an application which contains message-driven beans.

Note: After deployment code has been generated for an application, the deployable archive is renamed with the prefix Deployed_. Any subsequent changes to the archive from within the Application Assembly Tool (AAT) are applied to the version of the archive that existed prior to code generation. To see changes reflected in your application, regenerate deployment code and re-install the deployable archive.

To configure the message-driven beans deployment attributes for an enterprise bean, use the the AAT to configure the deployment attributes of the application to match the listener port definitions:

  1. Launch the Application Assembly Tool.
  2. Create or edit the application EAR file. For example, to change attributes of an existing application, click File--> Open, then select the the EAR file.
  3. In the navigation pane, select the message-driven bean instance. For example, expand ejb_module_instance and Message-driven beans then select the bean instance. A property dialog notebook for the message-driven bean is displayed in the property pane.
  4. Specify general deployment properties.
    1. In the property pane, select the General tab.
    2. Specify the following properties:
      Transaction type
      Whether the message bean manages its own transactions or the container manages transactions on behalf of the bean. All messages retrieved from a specific destination have the same transactional behavior. To enable the transactional behavior that you want, configure the JMS destination with the same transactional behavior as you configure for the message bean.

      Bean
      The message bean manages its own transactions.
      Container
      The container manages transactions on behalf of the bean.

  • Specify the advanced deployment properties.
    1. In the property pane, select the Advanced tab.
    2. Specify the following properties:

      Message selector
      The JMS message selector to be used to determine which messages the message 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 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 bean uses a queue or topic destination.

      Queue
      The message bean uses a queue destination.

      Topic
      The message bean uses a topic destination.

      Subscription durability
      Whether a JMS topic subscription is durable or non-durable.

      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.

  • Specify bindings deployment properties.
    1. In the property pane, select the Bindings tab.
    2. Specify the following property:

      Listener port name
      The name of the listener port for this message-driven bean.

  • To apply the changes and close the AAT, click OK. To apply the values but keep the property dialog open for additional edits, click Apply.
  • (Optional) For the changes to take effect, regenerate the deployment code and reinstall the deployable archive.