org.jboss.ejb.plugins
Class MessageDrivenTxInterceptorBMT

java.lang.Object
  extended byorg.jboss.ejb.plugins.AbstractInterceptor (src) 
      extended byorg.jboss.ejb.plugins.AbstractTxInterceptor
          extended byorg.jboss.ejb.plugins.AbstractTxInterceptorBMT
              extended byorg.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT
All Implemented Interfaces:
AllowedOperationsFlags (src) , ContainerPlugin (src) , Interceptor (src) , Service (src)

public class MessageDrivenTxInterceptorBMT
extends org.jboss.ejb.plugins.AbstractTxInterceptorBMT

This interceptor handles transactions for message BMT beans.


Nested Class Summary
static class AbstractTxInterceptorBMT.UserTxFactory (src)
           
 
Field Summary
protected static java.lang.reflect.Method ejbTimeout
          A reference to TimedObject.ejbTimeout(javax.ejb.Timer).
protected  boolean stateless
          If false, transactions may live across bean instance invocations, otherwise the bean instance should terminate any transaction before returning from the invocation.
protected  TransactionManager (src) tm
          Local reference to the container's TransactionManager.
 
Fields inherited from class org.jboss.ejb.plugins.AbstractInterceptor (src)
container, log, nextInterceptor
 
Fields inherited from interface org.jboss.ejb.AllowedOperationsFlags (src)
IN_AFTER_BEGIN, IN_AFTER_COMPLETION, IN_BEFORE_COMPLETION, IN_BUSINESS_METHOD, IN_EJB_ACTIVATE, IN_EJB_CREATE, IN_EJB_FIND, IN_EJB_HOME, IN_EJB_LOAD, IN_EJB_PASSIVATE, IN_EJB_POST_CREATE, IN_EJB_REMOVE, IN_EJB_STORE, IN_EJB_TIMEOUT, IN_INTERCEPTOR_METHOD, IN_SERVICE_ENDPOINT_METHOD, IN_SET_ENTITY_CONTEXT, IN_SET_MESSAGE_DRIVEN_CONTEXT, IN_SET_SESSION_CONTEXT, IN_UNSET_ENTITY_CONTEXT, NOT_ALLOWED
 
Constructor Summary
MessageDrivenTxInterceptorBMT()
           
 
Method Summary
 void create()
          create the service, do expensive operations etc
 java.lang.Object invoke(Invocation (src)  mi)
          ???
 java.lang.Object invokeHome(Invocation (src)  mi)
          ???
protected  java.lang.Object invokeNext(Invocation (src)  mi)
           
protected  java.lang.Object invokeNext(Invocation (src)  invocation, boolean inheritedTx)
          This method calls the next interceptor in the chain.
 void stop()
          stop the service
 
Methods inherited from class org.jboss.ejb.plugins.AbstractInterceptor (src)
destroy, getContainer, getNext, setContainer, setNext, start
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

stateless

protected boolean stateless
If false, transactions may live across bean instance invocations, otherwise the bean instance should terminate any transaction before returning from the invocation. This attribute defaults to true.


ejbTimeout

protected static final java.lang.reflect.Method ejbTimeout
A reference to TimedObject.ejbTimeout(javax.ejb.Timer).


tm

protected TransactionManager (src)  tm
Local reference to the container's TransactionManager.

Constructor Detail

MessageDrivenTxInterceptorBMT

public MessageDrivenTxInterceptorBMT()
Method Detail

invokeHome

public java.lang.Object invokeHome(Invocation (src)  mi)
Description copied from interface: Interceptor (src)
???

Specified by:
invokeHome in interface Interceptor (src)
Overrides:
invokeHome in class AbstractInterceptor (src)

invoke

public java.lang.Object invoke(Invocation (src)  mi)
                        throws java.lang.Exception
Description copied from interface: Interceptor (src)
???

Specified by:
invoke in interface Interceptor (src)
Overrides:
invoke in class AbstractInterceptor (src)
Throws:
java.lang.Exception

create

public void create()
            throws java.lang.Exception
Description copied from interface: Service (src)
create the service, do expensive operations etc

Throws:
java.lang.Exception

stop

public void stop()
Description copied from interface: Service (src)
stop the service

Specified by:
stop in interface Service (src)
Overrides:
stop in class AbstractInterceptor (src)

invokeNext

protected java.lang.Object invokeNext(Invocation (src)  mi)
                               throws java.lang.Exception
Throws:
java.lang.Exception

invokeNext

protected java.lang.Object invokeNext(Invocation (src)  invocation,
                                      boolean inheritedTx)
                               throws java.lang.Exception
This method calls the next interceptor in the chain.

All Throwables are caught and divided into two groups: application exceptions and system exceptions. Application exception are simply rethrown. System exceptions result in the transaction being marked for rollback only. If the transaction was not started by the container (i.e., it was inherited from the client) the system exception is wrapped in a TransactionRolledBack[Local]Exception.

Parameters:
invocation - The Invocation of this call.
inheritedTx - If true the transaction has just been started in this interceptor.
Throws:
java.lang.Exception - if an exception occures in the interceptor chain. The actual exception throw is governed by the rules in the EJB 2.0 specification section 18.3