I've set up a JNDI datasource on my test server that
works just fine (Tomcat=5.0.18, JDK=1.4.1, RedHat=8,
M$_SQL=2000). However, each time I recompile and
redeploy the application, I lose my connection pool,
recieving the "Cannot create JDBC driver of class ''
for connect URL 'null'" error. I have to restart
Tomcat to get it working again.
This sort of makes sense, since I'm defining the
Resource within a Context in server.xml. It seems
that I either need to make the resource globally
available to every web app, or move the resource
definition to within my web app. Unfortunately, I
don't know what to move or where to move it or what
options might work. Any advice or suggestions?
I'm including all the code used to get the connection
as it stands now. Again, this currently works up
until I try to redeploy the web app.
My driver jars (there are 3 for MS SQL) are in
$CATALINA_HOME/common/lib
server.xml:
<Context path="/mfgreports"
docBase="mfgreports" debug="5">
<Resource
name="datasource.testtrk.circuits"
auth="Container"
type="javax.sql.DataSource" />
<ResourceParams
name="datasource.testtrk.circuits">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
.....
<parameter>
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:microsoft:sqlserver://testtrk:1433;databasename=Circuits</value>
</parameter>
</ResourceParams>
</Context>
web.xml:
<resource-ref>
<res-ref-name>datasource.testtrk.circuits</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
Code used to get connection:
public class JNDIConnection {
public static Connection getConnection(String
datasource)
throws NamingException, SQLException{
Context ctx = new InitialContext();
//This syntax is a bit different than the docs show,
but it appears to be working
DataSource ds =
(DataSource)ctx.lookup("java:comp/env/"+datasource);
return ds.getConnection();
}
}
Thanks again!
=====
The only "dumb question" is the one you were too afraid to ask.
________________________________________
Check out RouteRuler - Free software for runners, cyclists, walkers, etc.
http://routeruler.sourceforge.net
________________________________________
__________________________________
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.
http://taxes.yahoo.com/filing.html
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]