Hello everybody,
I am using jboss 2.2.2 with tomcat 3.2.2, and oracle 8.1.7
In my jboss.jcml, I have:
<!-- shouldn't be needed, as handled by xadatasource -->
<mbean code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider">
<attribute name="Drivers">oracle.jdbc.driver.OracleDriver</attribute>
</mbean>
<mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=OracleDB">
<attribute name="PoolName">Oracle</attribute>
<attribute name="DataSourceClass">oracle.jdbc.xa.client.OracleXADataSource</attribute>
<attribute name="Properties"></attribute>
<attribute name="URL">jdbc:oracle:oci8:@eonworx</attribute>
<attribute name="GCMinIdleTime">1200000</attribute>
<attribute name="JDBCUser">xxxx</attribute>
<attribute name="MaxSize">10</attribute>
<attribute name="Password">xxxx</attribute>
<attribute name="GCEnabled">false</attribute>
<attribute name="InvalidateOnError">false</attribute>
<attribute name="TimestampUsed">false</attribute>
<attribute name="Blocking">true</attribute>
<attribute name="GCInterval">120000</attribute>
<attribute name="IdleTimeout">1800000</attribute>
<attribute name="IdleTimeoutEnabled">false</attribute>
<attribute name="LoggingEnabled">false</attribute>
<attribute name="MaxIdleTimeoutPercent">1.0</attribute>
<attribute name="MinSize">1</attribute>
</mbean>
And have also commented out the 'jboss.xa.xidclass=oracle.jdbc.xa.OracleXid' bit in jboss.properties.
From inside my beans, I get connections like this:
DataSource ds;
ds=(DataSource)getInitialContext().lookup("java:/Oracle");
java.sql.Connection conn =ds.getConnection();
We're using BMP, and we have Required transactional settings.
Now, my problem is the following. I keep getting XAER_NOTA exceptions, followed by javax.transaction.RollBackExceptions saying that the transaction has already been marked for rollback. Here's a sample:
[ApplicationController] XAException: tx=XidImpl [FormatId=257, GlobalId=josonlap//0, BranchQual=] errorCode=XAER_NOTA
[ApplicationController] oracle.jdbc.xa.OracleXAException
[ApplicationController] at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:498)
[ApplicationController] at oracle.jdbc.xa.client.OracleXAResource.end(OracleXAResource.java:285)
[ApplicationController] at org.jboss.tm.TxCapsule.endResource(TxCapsule.java:1147)
[ApplicationController] at org.jboss.tm.TxCapsule.delistResource(TxCapsule.java:541)
[ApplicationController] at org.jboss.tm.TransactionImpl.delistResource(TransactionImpl.java:99)
[ApplicationController] at org.opentools.minerva.jdbc.xa.XAConnectionFactory$2.closeConnection(XAConnectionFactory.java:97)
[ApplicationController] at org.opentools.minerva.jdbc.xa.XAConnectionFactory$2.connectionClosed(XAConnectionFactory.java:82)
[ApplicationController] at oracle.jdbc.pool.OraclePooledConnection.callListener(OraclePooledConnection.java:241)
[ApplicationController] at oracle.jdbc.pool.OraclePooledConnection.logicalClose(OraclePooledConnection.java:215)
[ApplicationController] at oracle.jdbc.driver.OracleConnection.logicalClose(OracleConnection.java:1968)
[ApplicationController] at oracle.jdbc.driver.OracleConnection.close(Ora
Followed by:
[ApplicationController] TRANSACTION ROLLBACK EXCEPTION:null; nested exception is:
javax.ejb.EJBException
[ApplicationController] java.lang.RuntimeException: Unable to register with TransactionManager: javax.transaction.RollbackException: Already marked for rollback
[ApplicationController] at org.opentools.minerva.jdbc.xa.XAConnectionFactory.prepareObject(XAConnectionFactory.java:279)
[ApplicationController] at org.opentools.minerva.pool.ObjectPool.getObject(ObjectPool.java:548)
[ApplicationController] at org.opentools.minerva.pool.ObjectPool.getObject(ObjectPool.java:521)
[ApplicationController] at org.opentools.minerva.jdbc.xa.XAPoolDataSource.getConnection(XAPoolDataSource.java:165)
Now, if I switch the DataSourceClass to org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl, everything works fine. But, I do not want to use org.opentools.minerva.jdbc.xa.wrapper.XADataSourceImpl, as then I lose 2 phase commit, which is needed.
Has anyone seen this, or know how to fix/work-around it?
Much Appreciated.
jord sonneveld
foundation developer
the eon company
www.eoncompany.com
o 212.563.4812
m 512.294.8674
e [EMAIL PROTECTED]