org.jboss.txbridge.ba.aspect
Class TransactionProcessingAspect

java.lang.Object
  extended by org.jboss.txbridge.ba.aspect.TransactionProcessingAspect

public class TransactionProcessingAspect
extends java.lang.Object

This aspect provides three advices: - process() - intercepts a call to a Business Activity service and applies necessary transaction-related mechanisms (handling a single invocation). - access() - used for transparently injecting the datamgmt manager associated with the current thread of execution. - access() - used to prevent from setting the datamgmt manager object.

Version:
0.1
Author:
Maciej P. Machulak (mmachulak@redhat.com)

Field Summary
private static BATransactionManager baTransactionManager
           
private static DataManagerProvider cmp
           
private static org.apache.log4j.Logger log
           
 
Constructor Summary
TransactionProcessingAspect()
           
 
Method Summary
 java.lang.Object access(org.jboss.aop.joinpoint.FieldReadInvocation invocation)
          Advice that returns the required DataManager object for every read access to the DataManager object annotated by the @BADataManagement annotation.
 java.lang.Object access(org.jboss.aop.joinpoint.FieldWriteInvocation invocation)
          Advice that prevents from setting the annotated DataManager object.
private  java.lang.Object internalProcess(org.jboss.aop.joinpoint.MethodInvocation invocation)
          Advice that processes methods execution without applying any transactional mechanisms.
 java.lang.Object process(org.jboss.aop.joinpoint.MethodInvocation invocation)
          Advice that processes methods execution according to the BA management.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static org.apache.log4j.Logger log

baTransactionManager

private static BATransactionManager baTransactionManager

cmp

private static DataManagerProvider cmp
Constructor Detail

TransactionProcessingAspect

public TransactionProcessingAspect()
Method Detail

process

public java.lang.Object process(org.jboss.aop.joinpoint.MethodInvocation invocation)
                         throws java.lang.Throwable
Advice that processes methods execution according to the BA management.

Parameters:
invocation - is the method's invocation.
Returns:
the object returned by the method.
Throws:
java.lang.Throwable - is any exception that should be propagated.

internalProcess

private java.lang.Object internalProcess(org.jboss.aop.joinpoint.MethodInvocation invocation)
                                  throws java.lang.Throwable
Advice that processes methods execution without applying any transactional mechanisms.

Parameters:
invocation - is the method's invocation.
Returns:
the object returned by the method.
Throws:
java.lang.Throwable - is any exception that should be propagated.

access

public java.lang.Object access(org.jboss.aop.joinpoint.FieldReadInvocation invocation)
                        throws java.lang.Throwable
Advice that returns the required DataManager object for every read access to the DataManager object annotated by the @BADataManagement annotation.

Parameters:
invocation - is the read access of the DataManager field.
Returns:
the object returned by the method.
Throws:
java.lang.Throwable - is any exception that should be propagated.

access

public java.lang.Object access(org.jboss.aop.joinpoint.FieldWriteInvocation invocation)
                        throws java.lang.Throwable
Advice that prevents from setting the annotated DataManager object.

Parameters:
invocation - is the write access of the DataManager field.
Returns:
the object returned by the method.
Throws:
java.lang.Throwable - is any exception that should be propagated.