David,
I spent most of yesterday trying to download Branch_3_0, and I'm still not
finished. However, this recent spate of emails suggests that its all under
control. As soon as 3.0.7 is out, or a new version of 3.2, I'll test our
code and let you know if its been fixed.
Sorry I couldn't help more, but firewalls and slowwwwww internet
connections don't help much!
Ciao,
Jonathan O'Connor
Development Manager
XCOM Dublin
Phone: +353 1 872 3305
Mobile: +353 86 824 0736
David Jencks <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
12.02.2003 02:11
Please respond to jboss-user
To: [EMAIL PROTECTED]
cc:
Subject: Re: [JBoss-user] Session Bean (Txn Required) commit error not
being sent
back to the client
Dain and I have been working to fix this farther. He fixed the "missing
cause" you found.
I've made all these exceptions use Jason's NestedThrowable stuff so they
should print well.
Also, there is an XAExceptionFormatter thing you can do to supply special
formatting to xa exceptions: this works best with an xa driver: in 3.2
there's one for Oracle.
In 3.0 there (will be shortly) one for the "XAExceptions" generated by
jboss for the wrapped local jdbc drivers.
This should be committed very soon.
david jencks
On 2003.02.11 20:09 Gerald Turner wrote:
> Gerald Turner <[EMAIL PROTECTED]> writes:
>
> > I'll build the latest Branch_3_0 and give that a try.
>
> Good news!
>
> David's changes to 3.0.7RC1 have fixed this problem!
>
> I noticed one minor problem: neither XAException, nor SQLException are
> nested in the TransactionRolledbackException. The exception I get is:
>
> java.rmi.ServerException (if remote)
> -> org.jboss.tm.JBossTransactionRolledbackException
> -> org.jboss.tm.JBossRollbackException
> -> null
>
> I looked at the code for TxCapsule and it would appear that the
> JBossRollbackException is initialialized with the XAException thrown in
> commitResources but the 'cause' field is nulled by instanceDone first!
>
> Even if that gets fixed I think it'd be really nice if the origin of the
> XAException, in this case the commit method in LocalTxConnectionManager,
> would include information about it's linkedException in the message. I
> inserted the following code in order to get ludicrous amounts of
> SQLException information:
>
> StringBuffer message =
> new StringBuffer("Could not commit local tx: "
> + re.getMessage());
> boolean paren = false;
> if (re.getErrorCode() != null) {
> if (!paren) {
> message.append(" (");
> paren = true;
> }
> message.append("ErrorCode: ");
> message.append(re.getErrorCode());
> }
> if (re.getLinkedException() != null) {
> if (!paren) {
> message.append(" (");
> paren = true;
> }
> Exception linked = re.getLinkedException();
> message.append("LinkedException: ");
> message.append(linked);
> if (linked instanceof SQLException) {
> SQLException sql = (SQLException) linked;
> while (sql != null) {
> message.append("; SQLException");
> boolean comma = false;
> if (sql != linked) {
> if (comma)
> message.append(',');
> message.append(" Message=");
> message.append(sql.getMessage());
> comma = true;
> }
>
> if (comma)
> message.append(',');
> message.append(" ErrorCode=");
> message.append(sql.getErrorCode());
> comma = true;
>
> if (comma)
> message.append(',');
> message.append(" SQLState=");
> message.append(sql.getSQLState());
> comma = true;
>
> sql = sql.getNextException();
> }
> }
> }
> if (paren)
> message.append(')');
>
> XAException e = new XAException(message.toString());
> if (re.getCause() == null && re.getLinkedException() !=
> null)
> e.initCause(re.getLinkedException());
> else
> e.initCause(re);
>
>
> An example message looks like this:
>
> Could not commit local tx: SQLException (LinkedException:
> java.sql.SQLException: ORA-02091: transaction rolled back\nORA-02290:
> check constraint (OMS.SYS_C004928) violated\n; SQLException
> ErrorCode=2091, SQLState=42000)
>
> Which is cool because somebody can figure out what SYS_C004928 is made
> out of.
>
> --
> Gerald Turner Email: [EMAIL PROTECTED] Phone: (503) 788-1720
> GPG: 0xFA8CD6D5 21D9 B2E8 7FE7 F19E 5F7D 4D0C 3FA0 810F FA8C D6D5
>
>
> -------------------------------------------------------
> This SF.NET email is sponsored by:
> SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
> http://www.vasoftware.com
> _______________________________________________
> JBoss-user mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-user
>
>
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user