views:

38

answers:

2

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?

+1  A: 

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>
duffymo
+1  A: 

I guess you need to replace url with jdbc:derby:pepper;create=true

Aleksey Otrubennikov