This discussion is archived
1 Reply Latest reply: Aug 26, 2010 12:47 PM by 794032 RSS

Help with interceptors / deadlock

794032 Newbie
Currently Being Moderated
Hi.

I'm having an issue with a deadlock in a big J2EE application in a 6 servers cluster environment.

Im trying to trace the problem with a J2EE interceptor that will log all EJB method calls and i will later parse the method calls grouping them by transaction.

My interceptor:
public class ServiceLoggingInterceptor {

     private static final Logger LOG = Logger
               .getLogger(ServiceLoggingInterceptor.class); // log4j

     //@Resource
     //SessionContext sCtx;
     
     @AroundInvoke
     public Object logServiceUsage(InvocationContext ctx) throws Exception {
          try {
               LOG.debug("????????????"); // this is where i need help
               LOG.debug("EJB call: \""     + ctx.getMethod().toString() + "\" with arguments: " + Arrays.toString(ctx.getParameters()));
               return ctx.proceed();
          } catch (Exception e) {
               ..... // Exception handling and logging
               throw e;
          }
     }
}
What i need help is: how do i get the global transaction ID or all javax.transaction.xa.Xid from the resources used in the current transaction?? Withouth this i cant parse the log results (i wont be able to check which method was called in which transaction).

PS: There is no UserTransaction in this application. Its all Container Managed Transaction.

------ Edit to post environment ------
OC4J: Oracle OC4J 10.1.3.1
Platform: Windows


Thanks!
kanedb.

Edited by: user6754259 on 26/08/2010 11:55

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points