I have an application using XA. I know, I know.
There is an EJB that has two methods on it. Both do a simple find on an
entity.
Both methods log entry and exit.
Both use TransactionAttributeType.SUPPORTS.
The first one works fine. I see log output.
The second one, invoked from the same method and transaction context as the
first one, does not even get entered, and no amount of logging in the EJB
uncovers a problem. There is in fact no log output at all. The GlassFish
error I get is:
[#|2013-08-22T13:27:07.838-0400|WARNING|glassfish3.1.2|javax.enterprise.system.container.ejb.com.sun.ejb.containers|_ThreadID=22;_ThreadName=Thread-5;|javax.ejb.TransactionRolledbackLocalException:
Client's transaction aborted
at com.sun.ejb.containers.BaseContainer.useClientTx(BaseContainer.java:4722)
at com.sun.ejb.containers.BaseContainer.preInvokeTx(BaseContainer.java:4616)
at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1914)
at
com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
at
com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:89)
at com.sun.proxy.$Proxy327.getDisplayNameType(Unknown Source)
There is no other diagnostic information I can cause GlassFish to output,
because the error is somewhere in the proxy's invocation of my local bean
(I think?).
The local bean is created (I logged the constructor information).
Where should I begin looking to uncover the root cause of this error? Is
there a particular GlassFish logging level I can dial up that would give me
more information?
The only extant post out there that I found that even remotely seems like
this error is here:
https://forums.oracle.com/thread/2130658
Best,
Laird
--
http://about.me/lairdnelson