Overview | Package | Class | Use | Tree | Deprecated | Index | Help
|  | BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weblogic.jms.extensions
Interface MDBTransaction

public interface MDBTransaction

JMS extension to associate a message delivered to a MDB (message-driven bean) with a transaction.

Note: As of WebLogic Server release 7.0, MDBs support transactions for foreign JMS vendors that do not implement this interface.

Author:
  Copyright (c) 2001 by BEA Systems, Inc. All Rights Reserved.

Method Summary
`void` | `associateTransaction(javax.jms.Message message)` This method infects an unacknowledged, non-transactional message with the current transaction.

Method Detail

### associateTransaction

    public void associateTransaction(javax.jms.Message message)
                              throws javax.jms.JMSException

  This method infects an unacknowledged, non-transactional message with the current transaction. It is intended for use by transactional MDB containers, and not for use by non-transactional MBeans!

  The container must use sessions created with the `Session.CLIENT_ACKNOWLEDGE` acknowledge mode, and must not call "acknowledge" directly. The container must use only one consumer per session. Since JMS schedules `onMessage` calls in their own thread, the container does not need to do this.

  The MDB container should look similar to this:

         import weblogic.jms.extension.MDBTransaction;
         class MBeanContainer
           implements MessageListener
           {

           void onMessage(Message message) {
             // container may have a utx pool or create a new tran on the spot
             UserTransaction utx = allocateTransaction();

             utx.begin();   // may throw exception

             // may throw exception
             ((MDBTransaction)session).associateTransaction(message);

             // pass message to client in same thread as utx.begin() call
             // so that it gets infected.
            userMBean.heresAMessage(message);

             on success
               utx.commit();   // may throw exception
             on failure
               utx.rollback(); // may throw exception
             // return utx to pool
             freeTransaction(utx);
          }
       }

  Parameters:
    `message` - javax.jms.Message
  Throws:
    javax.jms.JMSException - if a JMS error occurs

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at http://e-docs.bea.com/wls/docs70
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 BEA Systems, Inc. All Rights Reserved.
WebLogic Server 7.0 API Reference