F
Frank Marx
Hi,
I have a really strange problem with TOMCAT 4.1.24 using a JNDI Datasource.
I have the following server.xml in which I definde the DataSource in the
DefaultContext
so I don't need to make any changes in the web.xml because this is generated
dynamically every time
the web-app. is deployed.
Here is the server.xml I'm using:
<DefaultContext useNaming="true">
<Environment name="maxExemptions" value="10"
type="java.lang.Integer" override="true"/>
<Resource name="jdbc/myDB"
auth="Container"
description="This is my test db"
type="javax.sql.DataSource" />
<ResourceParams name="jdbc/myDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to 0 for no limit.
-->
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>frank</value>
</parameter>
<parameter>
<name>password</name>
<value>frank</value>
</parameter>
<!-- Class name for mm.mysql JDBC driver -->
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<!-- The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed
the
connection. mysqld by default closes idle connections after 8
hours.
-->
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/mydb</value>
</parameter>
</ResourceParams>
</DefaultContext>
I also copied the JAR with the MySQL Driver in the following directories of
TOMCAT and restarted TOMCAT:
- server/lib
-common/lib
-shared/lib
I can load the MySQL-Driver when I use Class.forName - Construct but this is
not what I really want.
Right now I don't really know what to do - it just makes no sense to me at
all.
Any help is greatly appreciated.
Kind regards,
Frank Marx
I have a really strange problem with TOMCAT 4.1.24 using a JNDI Datasource.
I have the following server.xml in which I definde the DataSource in the
DefaultContext
so I don't need to make any changes in the web.xml because this is generated
dynamically every time
the web-app. is deployed.
Here is the server.xml I'm using:
<DefaultContext useNaming="true">
<Environment name="maxExemptions" value="10"
type="java.lang.Integer" override="true"/>
<Resource name="jdbc/myDB"
auth="Container"
description="This is my test db"
type="javax.sql.DataSource" />
<ResourceParams name="jdbc/myDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to 0 for no limit.
-->
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>frank</value>
</parameter>
<parameter>
<name>password</name>
<value>frank</value>
</parameter>
<!-- Class name for mm.mysql JDBC driver -->
<parameter>
<name>driverClassName</name>
<value>org.gjt.mm.mysql.Driver</value>
</parameter>
<!-- The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed
the
connection. mysqld by default closes idle connections after 8
hours.
-->
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/mydb</value>
</parameter>
</ResourceParams>
</DefaultContext>
I also copied the JAR with the MySQL Driver in the following directories of
TOMCAT and restarted TOMCAT:
- server/lib
-common/lib
-shared/lib
I can load the MySQL-Driver when I use Class.forName - Construct but this is
not what I really want.
Right now I don't really know what to do - it just makes no sense to me at
all.
Any help is greatly appreciated.
Kind regards,
Frank Marx