HI, I'm trying configuring tyrex in my tomcat installation to use MySql xa driver.
I did it as described in tomcat documentation:
http://jakarta.apache.org/tomcat/to...les-howto.html, <http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html,> but something is going wrong.

Configuration:

-SO:windows2000
-jakarta-tomcat-4.1.18
-mysql-3.23.55-max-nt
-mysql-connector-java-2.0.14.zip
-tyrex-1.0

Config files:

1) tyrex.config:

<domain>
<name>iseDomain</name>
<!-- Limit to 50 concurrent transactions -->
<maximum>50</maximum>
<!-- Default transaction timeout: 2 minutes -->
<timeout>120</timeout>
<resources>
<dataSource>
<name>iseDatasource</name>
<jar>C:/jakarta-tomcat-4.1.18/common/lib/mysql-connector-java-2.0.14-bin.jar</jar>
<class>com.mysql.jdbc.jdbc2.optional.MysqlXaDataSource</class>
<config>
<user></user>
<password></password>
<serverName>localhost</serverName>
<port>3306</port>
<databaseName>ISE</databaseName>
</config>
</dataSource>
</resources>
</domain>

2) server.xml:
...

<DefaultContext>
<Environment
name="tyrexDomainConfig"
type="java.lang.String"
value="tyrex.config"/>

<Environment
name="tyrexDomainName"
type="java.lang.String"
value="iseDomain"/>

<Resource
name="iseDatasource"
auth="Container"
type="tyrex.resource.Resource"/>

<ResourceParams name="iseDatasource">
<parameter><name>name</name><value>iseDatasource</value></parameter>
</ResourceParams>
<DefaultContext>
...

Source:

try {
InitialContext ic = new InitialContext();
ds = (DataSource) ic.lookup(JNDINames.DB_POOL);
Connection conn = ds.getConnection();
} catch(Exception e) {
e.printStackTrace();
}

Error trace:

2003-01-31 12:04:24,631 ERROR [Thread-3](ConnectionPool.java:1046) - Error attempting to destory connection XAConnection: unused by connection pool iseDatasource
java.sql.SQLException: Can't call commit when autocommit=true
at com.mysql.jdbc.Connection.commit(Unknown Source)
at com.mysql.jdbc.xa.XAConnectionImpl.close(Unknown Source)
at tyrex.resource.jdbc.ConnectionPool.discard(ConnectionPool.java:1042)
at tyrex.resource.jdbc.ConnectionPool.release(ConnectionPool.java:852)
at tyrex.resource.jdbc.ConnectionPool.connectionErrorOccurred(ConnectionPool.java:636)
at com.mysql.jdbc.xa.XAConnectionImpl.getConnection(Unknown Source)
at tyrex.resource.jdbc.ConnectionPool.getConnection(ConnectionPool.java:427)
at tyrex.resource.jdbc.ConnectionPool.getConnection(ConnectionPool.java:398)

Thanks.
Emiliano.

Reply via email to