org.jboss.ejb.plugins
Class TxInterceptorBMT

java.lang.Object
  extended by org.jboss.ejb.plugins.AbstractInterceptor
      extended by org.jboss.ejb.plugins.TxInterceptorBMT
All Implemented Interfaces:
AllowedOperationsFlags, ContainerPlugin, Interceptor, org.jboss.system.Service

public class TxInterceptorBMT
extends AbstractInterceptor

This interceptor handles transactions for session BMT beans.

Version:
$Revision: 57209 $
Author:
Marc Fleury, Sebastien Alborini, Peter Antman., Anatoly Akkerman, Ole Husgaard

Nested Class Summary
static class AbstractTxInterceptorBMT.UserTxFactory
           
 
Field Summary
protected static 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 tm
          Local reference to the container's TransactionManager.
 
Fields inherited from class org.jboss.ejb.plugins.AbstractInterceptor
container, log, nextInterceptor
 
Fields inherited from interface org.jboss.ejb.AllowedOperationsFlags
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
TxInterceptorBMT()
           
 
Method Summary
 void create()
           
 Object invoke(Invocation mi)
          ???
 Object invokeHome(Invocation mi)
          ???
protected  Object invokeNext(Invocation mi)
           
protected  Object invokeNext(Invocation invocation, boolean inheritedTx)
          This method calls the next interceptor in the chain.
 void resetStatistic()
           
 Map retrieveStatistic()
           
 void sample(Object s)
           
 void stop()
           
 
Methods inherited from class org.jboss.ejb.plugins.AbstractInterceptor
destroy, getContainer, getNext, isAppException, 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 Method ejbTimeout
A reference to TimedObject.ejbTimeout(javax.ejb.Timer).


tm

protected TransactionManager tm
Local reference to the container's TransactionManager.

Constructor Detail

TxInterceptorBMT

public TxInterceptorBMT()
Method Detail

create

public void create()
            throws Exception
Specified by:
create in interface org.jboss.system.Service
Throws:
Exception

invokeHome

public Object invokeHome(Invocation mi)
                  throws Exception
Description copied from interface: Interceptor
???

Specified by:
invokeHome in interface Interceptor
Overrides:
invokeHome in class AbstractInterceptor
Parameters:
mi - ???
Returns:
???
Throws:
Exception - ???

invoke

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

Specified by:
invoke in interface Interceptor
Overrides:
invoke in class AbstractInterceptor
Parameters:
mi - ???
Returns:
???
Throws:
Exception - ???

sample

public void sample(Object s)

retrieveStatistic

public Map retrieveStatistic()

resetStatistic

public void resetStatistic()

stop

public void stop()
Specified by:
stop in interface org.jboss.system.Service
Overrides:
stop in class AbstractInterceptor

invokeNext

protected Object invokeNext(Invocation mi)
                     throws Exception
Throws:
Exception

invokeNext

protected Object invokeNext(Invocation invocation,
                            boolean inheritedTx)
                     throws 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:
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


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.