Tengo una aplicación web basada en Spring que se ejecuta bajo tomcat 6. Ahora, quiero usar la agrupación de conexiones c3p0 en lugar del DBCP predeterminado de tomcat. Así, desde el c3p0 help doc, he definido el origen de datos en context.xml
algo como:Uso de la conexión c3p0 Puesta en común en una aplicación 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"
/>
Ahora, la documentación dice, que debe incluir lo siguiente en 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>
también tengo la siguiente en applicationContext.xml
:
<jee:jndi-lookup id="sampleDataSource" resource-ref="true"
jndi-name="jdbc/sample" />
Cuando comienzo el gato, me sale
javax.naming.NameNotFoundException: Nombre JDBC no está obligado en este contexto
Sin c3p0 y el uso de la agrupación de conexiones por defecto en tomcat6 funciona bien.
Cualquier ayuda sería apreciada.
¿Por qué quieres hacer esto? Lo dijiste tú mismo: "la agrupación de conexiones predeterminada en tomcat6 funciona bien" – skaffman
¿Por qué no se define el origen de datos directamente en * applicationContext.xml * y se omite el jndi y se nombran por completo ?. –
Si no está resuelto: intente con ' ' o ' ' –
micfra