简体   繁体   中英

Embedded Derby Db in a Spring app on Tomcat

I'm trying to get an embedded Derby db running on a Tomcat/Spring application.

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="org.apache.derby.jdbc.EmbeddedDriver" />
    <property name="url" value="jdbc:derby:pepper" />
    <property name="initialSize" value="5" />
    <property name="maxActive" value="50" />
</bean>

When I run this, I'm getting the following error:

org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Database 'WEB-INF/pepper' not found.)

I've tried the pepper folder at both %webapp_root%/pepper and %webapp_root%/WEB-INF/pepper

Suggestions?

If you're deploying a web app to Tomcat, I'd recommend setting up a JNDI connection pool and using Spring's JndiObjectFactoryBean:

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:comp/env/jdbc/blah"/>
</bean>

我想你需要用jdbc:derby:pepper;create=true替换url jdbc:derby:pepper;create=true

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM