Я пытаюсь заставить Tomcat использовать BoneCP в качестве пула соединений, потому что здесь не работает DBCP.
Я попытался добавить его в context.xml, который определяет мое веб-приложение следующим образом:
<Context path="/reports" privileged="true" crossContext="true">
<Resource name="jdbc/IKOffice"
type="com.jolbox.bonecp.BoneCPDataSource"
auth="Container"
username="ik"
password="******"
jdbcUrl="jdbc:postgresql://localhost:5434/IKOffice_Core"
lazyInit="true"
partitionCount="1"
... more properties ...
logStatementsEnabled="false" />
</Context>
Но когда я пытаюсь получить доступ к ресурсу, он всегда говорит:
javax.naming.NamingException: Cannot create resource instance
В лог-файле нет ошибок, и все необходимые jar-файлы доступны для веб-приложения.Что здесь происходит?
Все работало, когда я использовал такой ресурс:
<Resource name="jdbc/IKOffice"
auth="Container"
type="javax.sql.DataSource"
username="ik"
password="******"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5434/IKOffice_Core"
maxActive="8"
maxIdle="4" />
РЕШЕНИЕ:
Вы должны указатьBeanFactory, вот так (строка 3):
<Resource name="jdbc/IKOffice"
type="jcom.jolbox.bonecp.BoneCPDataSource"
factory="org.apache.naming.factory.BeanFactory"
auth="Container"
...