// We have to do this until AOP supports matching based on annotation attributes
TransactionManagementType type = TxUtil.getTransactionManagementType(advisor);
if (type == TransactionManagementType.BEAN)
return new BMTInterceptor(TxUtil.getTransactionManager(), !(advisor instanceof StatefulContainer));
Method method = ((MethodJoinpoint) jp).getMethod();
int timeout = resolveTransactionTimeout(advisor, method);
if (policy == null);
super.initialize();
String txType = resolveTxType(advisor, jp).toUpperCase();
if (txType.equals("REQUIRED"))
{
return new TxInterceptor.Required(TxUtil.getTransactionManager(), policy, timeout);
}
else if (txType.equals("REQUIRESNEW"))
{
return new TxInterceptor.RequiresNew(TxUtil.getTransactionManager(), policy, timeout);
}
else
{
return super.createPerJoinpoint(advisor, jp);
}