下面的说明是基于tomcat 5的指令。x,可以在http://tomcat.apache.org/tomcat - 5.5 - doc/jndi -数据源howto.html——的例子这是当前当时本文档编写。
首先,安装. jar
文件带有连接器/ J$ CATALINA_HOME /共同/ lib
所有应用程序,以便它可以安装在容器中。
接下来,配置JNDI数据源资源通过添加一个声明CATALINA_HOME / conf / server.xml美元
web应用程序上下文中定义:
<上下文....>……<资源名= " jdbc / MySQLDB”auth = type = " javax.sql“容器”。数据源" / > < ResourceParams name = " jdbc / MySQLDB " > <参数> <名称> < /名称> <价值>工厂org.apache.commons.dbcp.BasicDataSourceFactory < /值> < /参数> <参数> <名称> maxActive < /名称> <价值> 10 < /值> < /参数> <参数> <名称> maxIdle < /名称> <价值> 5 < /值> < /参数> <参数> <名称> validationQuery < /名称> <价值>选择1 < /值> < /参数> <参数> <名称> testOnBorrow < /名称> <值> true < /值> < /参数> <参数> <名称> testWhileIdle < /名称> <值> true < /值> < /参数> <参数> <名称> timeBetweenEvictionRunsMillis < /名称> <值> 10000 < /值> < /参数> <参数> <名称> minEvictableIdleTimeMillis < /名称> <值> 60000 < /值> < /参数> <参数> <名称>用户名< /名称> <价值> someuser < /值> < /参数> <参数> <名称> < /名称> <价值>密码somepass < /值> < /参数> <参数> <名称> driverClassName < /名称> <价值> com.mysql.cj.jdbc。司机< /值> < /参数> <参数> <名称> < /名称> <价值> jdbc url: mysql: / / localhost: 3306 /测试< /值> < /参数> < / ResourceParams > < /上下文>
连接器/ J引入了一个工具,而不是使用一个validationQuery
的价值选择1
,可以使用validationQuery
值设置为/ * * /
。这发送一个ping服务器,然后返回一个假的结果集。这是一个轻量级的解决方案。它也有一个好处,那就是如果使用ReplicationConnection
或LoadBalancedConnection
类型的连接,萍将发送所有活跃的连接。下面的XML代码片段说明了如何选择这个选项:
<参数> <名称> validationQuery < /名称> <价值> / *平* / < /值> < /参数>
请注意,/ * * /
必须是指定的准确。
一般来说,遵循与你的版本的Tomcat的安装说明,当你在Tomcat配置数据源不时变化,如果你使用了错误的语法在XML文件中,你很可能会得到一个异常类似如下:
错误:java.sql。SQLException异常:无法加载JDBC驱动程序类“零”SQL状态:null
注意司机的交通量meta - inf /服务/ java.sql.Driver
在JDBC 4.0类,后来导致的取消部署不当连接器/ J司机在Windows上的Tomcat。即连接器/ J jar仍然是锁着的。这是一个不相关的驱动程序的初始化问题。可能的解决方法,如果可行,如下:使用“antiResourceLocking = true
“作为一个Tomcat上下文属性,或删除meta - inf /
目录中。