Spec-Zone .ru
спецификации, руководства, описания, API
|
Следующие инструкции основаны на инструкциях для Tomcat-5.x, доступны в
Во-первых, установите .jar
файл, который идет с Connector/J в $CATALINA_HOME/common/lib
так, чтобы это было доступно всем приложениям,
установленным в контейнере.
Затем, сконфигурируйте DataSource JNDI, добавляя ресурс объявления к $CATALINA_HOME/conf/server.xml
в контексте, который определяет Ваше веб-приложение:
<Context ....> ... <Resource name="jdbc/MySQLDB" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/MySQLDB"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>maxActive</name> <value>10</value> </parameter> <parameter> <name>maxIdle</name> <value>5</value> </parameter> <parameter> <name>validationQuery</name> <value>SELECT 1</value> </parameter> <parameter> <name>testOnBorrow</name> <value>true</value> </parameter> <parameter> <name>testWhileIdle</name> <value>true</value> </parameter> <parameter> <name>timeBetweenEvictionRunsMillis</name> <value>10000</value> </parameter> <parameter> <name>minEvictableIdleTimeMillis</name> <value>60000</value> </parameter> <parameter> <name>username</name> <value>someuser</value> </parameter> <parameter> <name>password</name> <value>somepass</value> </parameter> <parameter> <name>driverClassName</name> <value>com.mysql.jdbc.Driver</value> </parameter> <parameter> <name>url</name> <value>jdbc:mysql://localhost:3306/test</value> </parameter> </ResourceParams></Context>
Отметьте, что Connector/J 5.1.3 представлял средство посредством чего, вместо того, чтобы использовать a validationQuery
значение SELECT 1
, возможно использовать
validationQuery
с набором значений к /* ping */
. Это
отправляет ping серверу, который тогда возвращает поддельный набор результатов. Это - более легкое решение для
веса. У этого также есть преимущество это, используя ReplicationConnection
или
LoadBalancedConnection
введите соединения, ping будет отправлен через все активные
соединения. Следующий отрывок XML иллюстрирует, как выбрать эту опцию:
<parameter> <name>validationQuery</name> <value>/* ping */</value></parameter>
Отметьте это /* ping */
должен быть определен точно.
Вообще, следуйте за инструкциями по установке, которые идут с Вашей версией Tomcat, как способ, которым Вы конфигурируете источники данных в изменениях Tomcat время от времени, и если Вы используете неправильный синтаксис в своем XML-файле, Вы наиболее вероятно закончите с исключением, подобным следующему:
Error: java.sql.SQLException: Cannot load JDBC driver class 'null ' SQLstate: null
Отметьте что автозагрузка драйверов, имеющих META-INF/service/java.sql.Driver
class в JDBC 4.0 причины неподходящее неразвертывание драйвера Connector/J в Tomcat на Windows. А именно, фляга
Connector/J остается заблокированной. Это - проблема инициализации, которая не связывается с драйвером.
Возможные обходные решения, если жизнеспособный, следующие: используйте"antiResourceLocking=true
"как
атрибут Контекста Tomcat, или удаляют META-INF/
каталог.