DBCP в Eclipse
Если скомпилённые классы бросить в томкат - то всё работает...
Пытаюсь прописать настройки в серверах server.xml, но такое впечатление, что фактори просто не видт их и соответственно выводит нечто вроде Cannot create class '' for URL ''
Хелп
Собственно не смог настроить сабж.
Если скомпилённые классы бросить в томкат - то всё работает...
Пытаюсь прописать настройки в серверах server.xml, но такое впечатление, что фактори просто не видт их и соответственно выводит нечто вроде Cannot create class '' for URL ''
Хелп
Добавь необходимые либы в настройках Еклипса, либо експортируй их в проект, и укажи счто они есть. Вот собственно и все.
Если не поможет то поподробнее ПЛЗ. Потому что это как пальцем в небо.
Добавь необходимые либы ... то поподробнее ПЛЗ...
Давай поподробнее:
кусок кода
Context context = new InitialContext();
DataSource dataSource = ( DataSource ) context.lookup( "java:comp/env/jdbc/repository" );
должён создавать DataSource, а не получается (ошибка вылетает чуть позже при getConnection), хотя если весь проект (классы) кинуть в томкат(изменив при этом server.xml в соответствии) то всё работает.
В eclipse, после создания сервера тоже можно отредактировать server.xml(конкретно для проекта), но при получении соединения вылетает ошибка:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'.
То есть создаётся впечатление, что данные по репозиторию jdbc/repository, которые описаны в server.xml просто не прочитаны.
Следующий код, вместо вышеприведённого работает нормально
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("org.postgresql.Driver");
dataSource.setUsername("LOGIN");
dataSource.setPassword("PASSWORD");
dataSource.setUrl("jdbc:postgresql://localhost:5432/BASE");
Вот собственно.
Дело в том что я писал в server.xml
<Resource name="jdbc/repository" scope="Shareable" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/repository">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<name>password</name>
<value>pas</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql://localhost:5432/BASE</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>LOGIN</value>
</parameter>
</ResourceParams>
а надо
<Resource name="jdbc/repository" auth="Container"
type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/BASE"
username="LOGIN" password="pas" />