It is confirmed that sql-maven-plugin locks the embeded database and prevent
other java tests to run, please file a JIRA.

I am able to reproduce it via an integration test case.

-D


On 2/20/07, Dan Tran <[EMAIL PROTECTED]> wrote:

It sounds like your test case does not try to recreate database again.

-D





On 2/20/07, bkbonner <[EMAIL PROTECTED]> wrote:
>
>
> I'm trying to use the sql-maven-plugin with derby.
>
> My pom is as follows:
>
>                         <plugin>
>                                <groupId>org.apache.maven.plugins
> </groupId>
>
> <artifactId>maven-surefire-plugin</artifactId>
>                                <configuration>
>                                        <skip>false</skip>
>                                </configuration>
>                        </plugin>
>                        <plugin>
>                                <groupId> org.codehaus.mojo</groupId>
>                                <artifactId>sql-maven-plugin</artifactId>
>                                <dependencies>
>                                        <!-- specify the dependent jdbc
> driver here -->
>                                        <dependency>
>                                                <groupId>org.apache.derby
> </groupId>
>
> <artifactId>derby</artifactId>
>                                                <version>10.2.2.0
> </version>
>                                        </dependency>
>                                </dependencies>
>                                <configuration>
>                                        <username>me</username>
>                                        <password>mine</password>
>                                        <driver>
>
> org.apache.derby.jdbc.EmbeddedDriver
>                                        </driver>
>
> <url>jdbc:derby:testdb;create=true</url>
>                                        <!--all executions are ignored if
> -Dmaven.test.skip=true-->
>                                        <skip>${maven.test.skip}</skip>
>                                </configuration>
>                                <executions>
>
>                                        <execution>
>                                                <id>drop tables and
> recreate</id>
>
> <phase>process-test-resources</phase>
>                                                <goals>
>
> <goal>execute</goal>
>                                                </goals>
>                                                <configuration>
>
> <autocommit>true</autocommit>
>                                                        <srcFiles>
>                                                                <srcFile>
>
> datamodel/pid-snapshot.sql
>
> </srcFile>
>                                                        </srcFiles>
>
> <onError>continue</onError>
>                                                </configuration>
>                                        </execution>
>                                </executions>
>
>
> When my test cases try to run and connect to the derby instance, they
> receive the following failure:
>
>
>
> 
-------------------------------------------------------------------------------
> Test set: com.test.pid.model.PidpdtcaPidSnapshotTest
> 
-------------------------------------------------------------------------------
>
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.635sec
> <<< FAILURE!
> testGetPidpdtca(com.test.pid.model.PidpdtcaPidSnapshotTest)  Time
> elapsed:
> 3.585 sec  <<< ERROR!
> org.springframework.transaction.CannotCreateTransactionException : Could
> not
> open JDBC Connection for transaction; nested exception is
> java.sql.SQLException: Failed to start database 'testdb', see the next
> exception for details.
> Caused by: java.sql.SQLException: Failed to start database 'testdb', see
> the
> next exception for details.
>        at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
> Source)
>        at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
> Source)
>        at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown
> Source)
>        at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
> Source)
>        at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown
> Source)
>        at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(Unknown
> Source)
>        at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown
> Source)
>        at org.apache.derby.impl.jdbc.EmbedConnection30 .<init>(Unknown
> Source)
>        at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown
> Source)
>        at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown
> Source)
>        at org.apache.derby.jdbc.InternalDriver.connect (Unknown Source)
>        at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
>        at java.sql.DriverManager.getConnection(DriverManager.java:582)
>        at java.sql.DriverManager.getConnection(DriverManager.java :154)
>        at
>
> 
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager
> (DriverManagerDataSource.java:291)
>        at
>
> 
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(
> DriverManagerDataSource.java:277)
>        at
>
> 
org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager
> (DriverManagerDataSource.java:259)
>        at
>
> org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection(
> DriverManagerDataSource.java:240)
>        at
> org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin
> (DataSourceTransactionManager.java:182)
>        at
>
> 
org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(
> AbstractPlatformTransactionManager.java:349)
>        at
>
> 
org.springframework.test.AbstractTransactionalSpringContextTests.startNewTransaction
> (AbstractTransactionalSpringContextTests.java:313)
>        at
> org.springframework.test.AbstractTransactionalSpringContextTests.onSetUp(
> AbstractTransactionalSpringContextTests.java:168)
>        at
> org.springframework.test.AbstractSingleSpringContextTests.setUp(
> AbstractSingleSpringContextTests.java:85)
>        at junit.framework.TestCase.runBare(TestCase.java :128)
>        at
> org.springframework.test.ConditionalTestCase.runBare(
> ConditionalTestCase.java:69)
>        at junit.framework.TestResult$1.protect(TestResult.java:110)
>        at junit.framework.TestResult.runProtected (TestResult.java:128)
>        at junit.framework.TestResult.run(TestResult.java:113)
>        at junit.framework.TestCase.run(TestCase.java:120)
>        at junit.framework.TestSuite.runTest(TestSuite.java:228)
>        at junit.framework.TestSuite.run(TestSuite.java:223)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> org.apache.maven.surefire.junit.JUnitTestSet.execute( JUnitTestSet.java
> :210)
>        at
>
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet
> (AbstractDirectoryTestSuite.java:135)
>        at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute (
> AbstractDirectoryTestSuite.java:122)
>        at org.apache.maven.surefire.Surefire.run(Surefire.java:129)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke (
> NativeMethodAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess (
> SurefireBooter.java:225)
>        at
> org.apache.maven.surefire.booter.SurefireBooter.run(SurefireBooter.java
> :139)
>        at
> org.apache.maven.plugin.surefire.SurefirePlugin.execute(
> SurefirePlugin.java:376)
>        at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(
> DefaultPluginManager.java:420)
>        at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(
> DefaultLifecycleExecutor.java:539)
>        at
>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle
> (DefaultLifecycleExecutor.java:480)
>        at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(
> DefaultLifecycleExecutor.java :459)
>        at
>
> 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures
> (DefaultLifecycleExecutor.java:311)
>        at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
> DefaultLifecycleExecutor.java:278)
>        at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(
> DefaultLifecycleExecutor.java:143)
>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:330)
>
>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:123)
>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at
> sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke (Method.java:597)
>        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java
> :315)
>        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>        at org.codehaus.classworlds.Launcher.mainWithExitCode (
> Launcher.java:430)
>        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: java.sql.SQLException: Failed to start database 'testdb', see
> the
> next exception for details.
>        at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException
> (Unknown
> Source)
>        at
>
> 
org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA
> (Unknown
> Source)
>        ... 64 more
>
>
> I don't see the actual failure, but I suspect it's similar to the
> following:
>
> SQL Exception: Failed to start database 'testDB', see the next exception
> for
> details.
> SQL Exception: Another instance of Derby may have already booted the
> database testDB.
>
> Any ideas on how I can identify the full error message?
> And better yet, any ideas on what I can do to better create a testdb
> with
> derby that I can run in my sql tests?
>
> Brian
>
>
>
>
>
> --
> View this message in context: 
http://www.nabble.com/sql-maven-plugin%2C-derby%2C-and-test-cases--%3E-failed-to-start-database-tf3263205s177.html#a9070373
>
> Sent from the Maven - Users mailing list archive at 
Nabble.com<http://nabble.com/>
> .
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to