Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

RollBack Exception in WAS

 
Pious Francis
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All,

I'm getting the following error message frequently in the WAS log.

LocalTranCoor E WLTC0033E: Resource jdbc/dsOraXA rolled back in cleanup of unresolved LocalTransactionContainment

LocalTranCoor E WLTC0032E: One or more resources rolled back. An unresolved LocalTransactionContainment had an unresolved action of rollback.

WebAppTransac E WTRN0043I: LocalTransaction rolled-back due to setRollbackOnly.

which is always preceeded by the following message:

ConnectionFac I J2CA0122I: Resource reference jdbc/dsOraXA could not be located, so default values of the following are used: [Resource-ref settings]

res-auth: 1 (APPLICATION)
res-isolation-level: 0 (TRANSACTION_NONE)
res-sharing-scope: true (SHAREABLE)
res-resolution-control: 999 (undefined)
[Other attributes]
isCMP1_x: false (not CMP1.x)
isJMS: false (not JMS)

I'm Using JDBC,WAS 5.0,Struts with Oracle 8i.
Configured the datasource for OracleXADataSource,
and given the JNDI name jdbc/dsOraXA.
And set the AutoCommit to False in JDBC. For each transaction I'm explicitly giving commit() and rollback() statements.

Every thing works properly,but getting these error messages frequently in the Websphere log(SystemErr.log).

Thanks in Advance
Pious
 
David Hibbs
Ranch Hand
Posts: 374
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Pious Francis:
Hi All,

I'm getting the following error message frequently in the WAS log.

LocalTranCoor E WLTC0033E: Resource jdbc/dsOraXA rolled back in cleanup of unresolved LocalTransactionContainment

LocalTranCoor E WLTC0032E: One or more resources rolled back. An unresolved LocalTransactionContainment had an unresolved action of rollback.

WebAppTransac E WTRN0043I: LocalTransaction rolled-back due to setRollbackOnly.


This error usually happens because you have disabled autocommit (Maybe this is a default for the Oracle driver you use, I don't know), issued some queries, and closed your connection without issuing a commit.

Before closing a connection, either a rollback or commit must be issued. By default, JDBC will rollback everything that has not been committed on a close.


which is always preceeded by the following message:

ConnectionFac I J2CA0122I: Resource reference jdbc/dsOraXA could not be located, so default values of the following are used: [Resource-ref settings]

res-auth: 1 (APPLICATION)
res-isolation-level: 0 (TRANSACTION_NONE)
res-sharing-scope: true (SHAREABLE)
res-resolution-control: 999 (undefined)
[Other attributes]
isCMP1_x: false (not CMP1.x)
isJMS: false (not JMS)


This message is a simple "info" message from WAS that it doesn't know anything about your particular driver. It's even shown in the WAS InfoCenter....

http://publib.boulder.ibm.com/infocenter/wsphelp/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/rdat_jnditips.html

So this one is of little concern.
[ September 16, 2004: Message edited by: David Hibbs ]
 
Pious Francis
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you
I cleared the problem by setting the auto commit back to false before closing the connection and it worked and the RollBack exception is now no more.

Yet the follwing message is still there:

ConnectionFac I J2CA0122I: Resource reference jdbc/dsOraXA could not be located, so default values of the following are used: [Resource-ref settings]

res-auth: 1 (APPLICATION)
res-isolation-level: 0 (TRANSACTION_NONE)
res-sharing-scope: true (SHAREABLE)
res-resolution-control: 999 (undefined)
[Other attributes]

isCMP1_x: false (not CMP1.x)
isJMS: false (not JMS)

I read the IBM link
http://publib.boulder.ibm.com/infocenter/wsphelp/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/rdat_jnditips.html

Does it mean that while using a user specified JNDI name to look up the
data source such message can be expected?
is there any way to suppress this log message?

I'm using the JNDI name as jdbc/dsOraXA, and calling this like
javax.sql.DataSource DSN =(javax.sql.DataSource) initialContext.lookup("jdbc/dsOraXA");

I also tried
javax.sql.DataSource DSN =(javax.sql.DataSource) initialContext.lookup("java:comp/env/jdbc/dsOraXA");

But both failed!!. The latter gave me a Name not found Exception!

Thanks for any help
Pious
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic