Hi, Igor Fedorenko wrote: > Out of curiosity, it there a reason why (at least some of) XAExceptions > are ignored? For example, consider following scenario:
The methods enlistResource() and delistResource() should both return false in case of an XAException. During transaction completion, when XAResources are ended, the transaction should roll back in case of an XAException. And during the prepare phase, XAExceptions denoting heuristics are caught and remembered, and all XAExceptions except the heuristic commit exception cause the transaction to roll back. At last, during the commit phase, only heuristics are remembered. Other XAExceptions are only logged, since it would be too late to do anything about them anyway; besides, the only other XAExceptions possible here denote internal resource problems, and protocol violations. I do not think throwing an EJBException from our JTA service is an option, since we cannot rely on such exception being thrown without hacking all JTA implementations that work with JBoss. > Client calls ejb that is supposed to perform some db update, call > another ejb and return some response to the client. Somewhere alone the > line XAException occured (to be more specific, TxCapsule could not > attach db connection allocated by second ejb to the transaction). > Despite of the problem the client recieves normal response from first ejb. That looks like the return value from tx.enlistResource() is ignored, so that the application server does not know that the transaction could not be enlisted. A quick grep of the current CVS HEAD sources seem to indicate that the return values of enlistResource() and delistResource() are ALWAYS ignored. That is IMHO where the bug is. Best Regards, Ole Husgaard. ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
