Я пытаюсь настроить пул соединений для базы данных mysql с tomcat.Мое простое приложение называется Projekt, в моем Projekt.xml в Apache / conf / Catalina / localhost у меня есть
<Context docBase="Projekt.war" path="/Projekt">
<Resource name="jdbc/mysqldb"
auth="Container"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/Music"
username="andrzej"
password="qazxsw"
maxActive="20"
maxIdle="30"
maxWait="5"
/>
</Context>
web.xml моего приложения
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>org.jtp.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/Hai</url-pattern>
</servlet-mapping>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/mysqldb</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
и в моем ApacheПапка / lib У меня есть
mysql-connector-java-5.1.18-bin.jar
, но когда я выполняю этот код:
Context initContext = new InitialContext();
dataSource = (DataSource)initContext.lookup("java:comp/env/jdbc/mysqldb");
System.out.println(dataSource.getConnection().createStatement().
execute("select * from Users"));
я получаю исключение
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
Теперь я озадачен, в некоторых местахЯ читал, что это может быть вызвано не помещением драйвера в tomcat / lib, но он у меня есть, и он работает, потому что когда я тестировал драйвер с ручным подключением, он работал.
Для моей настройки я пытался следоватьhttp://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html
РЕДАКТИРОВАТЬ: Наконец-то все заработало, мне показалось, что в одном из файлов у меня осталось несколько контекстных тегов, поэтому при анализе он переопределил другие атрибуты, так что в конце концов это моя ошибка.