Hi Olivier,

the hsqldb memory mode means that the database is being shut down everytime the process that created it terminates. Since maven runs plugins isolated from each other, there is no way to access an in-memory database that was created in one plugin in another plugin. So it is better to create a file database in the /target/ direcotry.

Stefan

Olivier THIERRY wrote:
Hi all,

I use SQL maven plugin and dbunit maven plugin to initialize a
database before running tests. It works perfect with MySQL. But I need
to run tests on HSQLDB in memory mode, so that you need no database
server to run the tests.

But I can't find how to make it work. The SQL plugin succeeds but the
dbunit plugin fails with this message :

org.apache.maven.lifecycle.LifecycleExecutionException: Error
executing database operation: CLEAN_INSERT
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:475)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:306)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
        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:585)
        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: org.apache.maven.plugin.MojoExecutionException: Error
executing database operation: CLEAN_INSERT
        at 
org.codehaus.mojo.dbunit.OperationMojo.execute(OperationMojo.java:110)
        at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
        ... 16 more
Caused by: org.dbunit.dataset.NoSuchTableException: parametre_processus
        at 
org.dbunit.database.DatabaseDataSet.getTableMetaData(DatabaseDataSet.java:192)
        at 
org.dbunit.operation.DeleteAllOperation.execute(DeleteAllOperation.java:98)
        at 
org.dbunit.operation.CompositeOperation.execute(CompositeOperation.java:67)
        at org.dbunit.ant.Operation.execute(Operation.java:183)
        at 
org.codehaus.mojo.dbunit.OperationMojo.execute(OperationMojo.java:101)
        ... 18 more

So it looks like the database was dropped after sql maven plugin ended.
When I run maven with -X option, I can see the following configuration
which looks OK :

[DEBUG] Configuring mojo
'org.codehaus.mojo:dbunit-maven-plugin:1.0-beta-1:operation' -->
[DEBUG]   (f) dataTypeFactoryName =
org.dbunit.dataset.datatype.DefaultDataTypeFactory
[DEBUG]   (f) datatypeWarning = false
[DEBUG]   (f) driver = org.hsqldb.jdbcDriver
[DEBUG]   (f) format = flat
[DEBUG]   (f) settings = [EMAIL PROTECTED]
[DEBUG]   (f) skip = false
[DEBUG]   (f) src = C:\Documents\t4Seam\core\src\test\resources\data\dataset.xml
[DEBUG]   (f) supportBatchStatement = false
[DEBUG]   (f) transaction = false
[DEBUG]   (f) type = CLEAN_INSERT
[DEBUG]   (f) url = jdbc:hsqldb:mem:test
[DEBUG]   (f) useQualifiedTableNames = false
[DEBUG]   (f) username = sa

Anyone has an idea why I have this problem ?

Olivier

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email




---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to