1 22 package org.jboss.aspects.tx; 23 24 import org.jboss.aop.advice.Interceptor; 25 import org.jboss.aop.joinpoint.Invocation; 26 import org.jboss.tm.TransactionPropagationContextFactory; 27 import org.jboss.tm.TransactionPropagationContextUtil; 28 29 import java.io.ObjectStreamException ; 30 31 37 public class ClientTxPropagationInterceptor implements Interceptor, java.io.Serializable  38 { 39 private static final long serialVersionUID = 4536126296306191076L; 40 41 public static String TRANSACTION_PROPAGATION_CONTEXT = "TransactionPropagationContext"; 42 43 public static final ClientTxPropagationInterceptor singleton = new ClientTxPropagationInterceptor(); 44 45 public String getName() 46 { 47 return "ClientTxPropagationInterceptor"; 48 } 49 50 public Object invoke(Invocation invocation) throws Throwable  51 { 52 TransactionPropagationContextFactory tpcFactory = TransactionPropagationContextUtil.getTPCFactoryClientSide(); 53 if (tpcFactory != null) 54 { 55 Object tpc = tpcFactory.getTransactionPropagationContext(); 56 if (tpc != null) 57 { 58 invocation.getMetaData().addMetaData(TRANSACTION_PROPAGATION_CONTEXT, TRANSACTION_PROPAGATION_CONTEXT, tpc); 59 } 60 } 61 return invocation.invokeNext(); 62 } 63 64 Object readResolve() throws ObjectStreamException { 65 return singleton; 66 } 67 } 68 | Popular Tags |