4
我嘗試讓Tomcat使用BoneCP作爲連接池,因爲DBCP在這裏無法正常工作。使用bonecp作爲Tomcat 5.5數據源
我試着將它添加到定義這樣我的web應用程序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都可用於webapp。這裏發生了什麼?
一切工作時我用這樣的資源:
<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" />
SOLUTION:
您必須指定一個BeanFactory,像這樣(3號線):
<Resource name="jdbc/IKOffice"
type="jcom.jolbox.bonecp.BoneCPDataSource"
factory="org.apache.naming.factory.BeanFactory"
auth="Container"
...
那是對的,我不得不指定org.apache.naming.factory.BeanFactory! – Daniel 2012-04-01 10:27:00
標記你讓我的一天!多謝兄弟! (http://stackoverflow.com/q/37968073/1564910) – MTurPash 2016-06-22 14:19:30