tomcat5和6中连接池配置
最近配置tomcat中的jndi链接池,碰到Cannot create JDBC driver of class '' for connect URL 'null'的错误,通过jndi能够得到DataSource,但是里面的配置都为空,在网上查找,发现前人也碰到过类似的问题
?
http://www.blogjava.net/flustar/archive/2009/06/02/111362.html
?
发现在server.xml中配置就会出现配置为空的问题,在Catalina配置对应的文件就没有问题,不知道为什么
?
总结需要配置的地方有:
1 web.xml中配置(项目名为Artery2):
<resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/artery1</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth></resource-ref>
?2.1? 在\conf\Catalina\localhost目录下建立一个xml文件,名称为你所发布的web应用同名(Artery2.xml):
<Resource name="jdbc/artery1" auth="Container" type="javax.sql.DataSource"></Resource><ResourceParams name="jdbc/artery1"> <parameter> <name>username</name> <value>atyuser</value> </parameter> <parameter> <name>password</name><value>tusc08</value> </parameter> <parameter> <name>driverClassName</name><value>com.sybase.jdbc3.jdbc.SybDriver</value> </parameter> <parameter><name>url</name><value>jdbc:sybase:Tds:172.16.5.3:6000/DB_ATY?charset=cp936</value> </parameter> <parameter><name>maxActive</name><value>8</value> </parameter> <parameter><name>maxIdle</name><value>4</value> </parameter></ResourceParams>
?2.2? tomcat6的配置和tomcat5一样,只是Resource的配置格式不同
<Context path="/Artery2" docBase="Artery2" debug="5" privileged="true" crossContext="true"><Resource name="jdbc/artery1" auth="Container" type="javax.sql.DataSource" maxActive="4" maxIdle="30" maxWait="5000" username="atyuser" password="tusc08" driverClassName="com.sybase.jdbc3.jdbc.SybDriver" url="jdbc:sybase:Tds:172.16.5.3:6000/DB_ATY?charset=cp936"/></Context>?
?