我有一個基於Spring的Web應用程序在tomcat 6下運行。現在,我想使用c3p0連接池而不是tomcat的默認DBCP。所以,從c3p0 help醫生,我已經在context.xml
類似定義的數據源:使用c3p0連接在Tomcat中池化基於Spring的應用程序
<Resource name="jdbc/sample" auth="Container"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@someServer:1551:xyz"
username="userName"
password="pwd"
validationQuery="SELECT 1 FROM dual"
testOnBorrow="true"
testWhileIdle="true"
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
maxPoolSize="20"
minPoolSize="5"
acquireIncrement="1"
/>
現在,文檔中說,我應該包括web.xml
如下:
<resource-ref>
<res-ref-name>jdbc/sample</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
我也有按照applicationContext.xml
:
<jee:jndi-lookup id="sampleDataSource" resource-ref="true"
jndi-name="jdbc/sample" />
當我啓動Tomcat,我得到
javax.naming.NameNotFoundException:名稱JDBC是不是在這方面的約束
沒有C3P0,並使用默認的連接池的tomcat6工作正常。
任何幫助,將不勝感激。
爲什麼你想這樣做?你自己說過 - 「在tomcat6中的默認連接池工作正常」 – skaffman 2011-03-09 17:17:43
爲什麼不直接在* applicationContext.xml中定義數據源並繞過jndi和命名呢? – 2011-05-17 10:46:37
如果還沒有解決:試試用''或' –
micfra
2012-03-16 10:50:19