M
Martin Huber
Hello,
i have a problem. I am using Tomcat 4.0 and MySql as database. I want
using the database connection pooling mechanism in Tomcat, but I have
problems.
If I test the connection, I get following error message:
TyrexDataSourceFactory: Cannot create DataSource, Exception
java.lang.NoClassDefFoundError: tyrex/jdbc/xa/EnabledDataSource
at org.apache.naming.factory.TyrexDataSourceFactory.getObjectInstance(Ty
rexDataSourceFactory.java:163)
at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:165)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:301)
..
..
..
A problem occurred while retrieving a DataSource object
javax.naming.NamingException: Exception creating DataSource:
tyrex/jdbc/xa/EnabledDataSource
So, I have searched in different groups, but I did not found any
solution for my problem. I have enclosed my sourcecode. Maybe someone
can help me.
Thank you very much
Martin Huber
P.S. Sorry for my english...
Code in DatabaseManager.java (Servlet):
try {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource) envCtx.lookup("jdbc/DatabaseManager");
con = ds.getConnection();
Statement stmt = con.createStatement();
System.out.println("executed lookup for jdbx. JON");
}
catch (javax.naming.NamingException e){
System.out.println("A problem occurred while retrieving a DataSource
object");
System.out.println(e.toString());
}
Settings in server.xml:
<Context path="/DatabaseManager"
docBase="DatabaseManager"
debug="1"
reloadable="true"
crossContext="false">
<Resource name="jdbc/DatabaseManager"
auth="SERVLET"
type="javax.sql.DataSource" />
<ResourceParams name="jdbc/DatabaseManager">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql:///bfdr</value>
</parameter>
<parameter>
<name>username</name>
<value></value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
<parameter>
<name>testOnBorrow</name>
<value>true</value>
</parameter>
<parameter>
<name>testOnIdle</name>
<value>true</value>
</parameter>
<parameter>
<name>validationQuery</name>
<value>select current_date</value>
</parameter>
</ResourceParams>
</Context>
Settings in web.xml:
<resource-ref>
<description>
BFD-Regensburg
</description>
<res-ref-name>
jdbc/DatabaseManager
</res-ref-name>
<res-type>
javax.sql.DataSource
</res-type>
<res-auth>
SERVLET
</res-auth>
</resource-ref>
i have a problem. I am using Tomcat 4.0 and MySql as database. I want
using the database connection pooling mechanism in Tomcat, but I have
problems.
If I test the connection, I get following error message:
TyrexDataSourceFactory: Cannot create DataSource, Exception
java.lang.NoClassDefFoundError: tyrex/jdbc/xa/EnabledDataSource
at org.apache.naming.factory.TyrexDataSourceFactory.getObjectInstance(Ty
rexDataSourceFactory.java:163)
at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:165)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:301)
..
..
..
A problem occurred while retrieving a DataSource object
javax.naming.NamingException: Exception creating DataSource:
tyrex/jdbc/xa/EnabledDataSource
So, I have searched in different groups, but I did not found any
solution for my problem. I have enclosed my sourcecode. Maybe someone
can help me.
Thank you very much
Martin Huber
P.S. Sorry for my english...
Code in DatabaseManager.java (Servlet):
try {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
ds = (DataSource) envCtx.lookup("jdbc/DatabaseManager");
con = ds.getConnection();
Statement stmt = con.createStatement();
System.out.println("executed lookup for jdbx. JON");
}
catch (javax.naming.NamingException e){
System.out.println("A problem occurred while retrieving a DataSource
object");
System.out.println(e.toString());
}
Settings in server.xml:
<Context path="/DatabaseManager"
docBase="DatabaseManager"
debug="1"
reloadable="true"
crossContext="false">
<Resource name="jdbc/DatabaseManager"
auth="SERVLET"
type="javax.sql.DataSource" />
<ResourceParams name="jdbc/DatabaseManager">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql:///bfdr</value>
</parameter>
<parameter>
<name>username</name>
<value></value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
<parameter>
<name>testOnBorrow</name>
<value>true</value>
</parameter>
<parameter>
<name>testOnIdle</name>
<value>true</value>
</parameter>
<parameter>
<name>validationQuery</name>
<value>select current_date</value>
</parameter>
</ResourceParams>
</Context>
Settings in web.xml:
<resource-ref>
<description>
BFD-Regensburg
</description>
<res-ref-name>
jdbc/DatabaseManager
</res-ref-name>
<res-type>
javax.sql.DataSource
</res-type>
<res-auth>
SERVLET
</res-auth>
</resource-ref>