Hi,

 

We are in the process of creating an integration test suite for a J2EE
project using the Cargo Maven 2 plugin with a JBoss 4.0 container.  When
we execute mvn integration-test, the jboss zip is correctly expanded and
our war is copied at the right place.  The problem we have is that our
application takes more than 20 seconds to deploy and Cargo throws an
exception saying that the timeout is exceeded.  I do not see any
configuration that can override the timeout for a deployable... is there
one?  Or is there any workaround for that kind of problem?

 

Also, is there a way to tell to the installer (zipUrlInstaller) to force
a cleanup and a full reinstall (i.e. delete the install dir and
re-expand the zip file)?

 

Here is our plugin config in the pom.xml:

 

<plugin>

            <groupId>org.codehaus.cargo</groupId>

            <artifactId>cargo-maven2-plugin</artifactId>

            <configuration>

                        <wait>false</wait>

                        <container>

                                    <containerId>jboss4x</containerId>

                                    <zipUrlInstaller>

 
<url>file:///${jboss.distribution.dir}/JBoss4.0.zip</url>

 
<installDir>${installDir}</installDir>

                                    </zipUrlInstaller>

                                    <log>${log.dir}/cargo.log</log>

 
<output>${log.dir}/jboss.log</output>

                        </container>

                        <configuration>

                                    <type>existing</type>

 
<home>${installDir}/jboss/server/default</home>

                        </configuration>

            </configuration>

            <executions>

                        <execution>

                                    <id>start-container</id>

                                    <phase>pre-integration-test</phase>

                                    <goals>

                                                <goal>start</goal>

                                                <goal>deploy</goal>


                                    </goals>

                                    <configuration>

                                                <deployer>

 
<deployables>

 
<deployable>

 
<groupId>org.xyz</groupId>

 
<artifactId>my-app</artifactId>

 
<type>war</type>

 
<pingURL>http://localhost:8080/index.jsf</pingURL>

 
</deployable>

 
</deployables>

                                                </deployer>

                                    </configuration>

                        </execution>

                        <execution>

                                    <id>stop-container</id>

                                    <phase>post-integration-test</phase>

                                    <goals>

                                                <goal>stop</goal>

                                    </goals>

                        </execution>

            </executions>

</plugin>

 

Here is the error trace:

 

[INFO]
------------------------------------------------------------------------

[INFO] Deployable failed to finish deploying within the timeout period
[20000]. The Deployable state is thus unknown.

[INFO]
------------------------------------------------------------------------

[INFO] Trace

org.codehaus.cargo.container.ContainerException: Deployable failed to
finish deploying within the timeout period [20000]. The Deployable state
is thus unknown.

        at
org.codehaus.cargo.container.spi.deployer.DeployerWatchdog.watch(Deploye
rWatchdog.java:109)

        at
org.codehaus.cargo.container.spi.deployer.DeployerWatchdog.watchForAvail
ability(DeployerWatchdog.java:78)

        at
org.codehaus.cargo.container.spi.deployer.AbstractLocalDeployer.deploy(A
bstractLocalDeployer.java:98)

        at
org.codehaus.cargo.maven2.DeployerDeployMojo.performDeployerActionOnSing
leDeployable(DeployerDeployMojo.java:75)

        at
org.codehaus.cargo.maven2.AbstractDeployerMojo.performDeployerActionOnAl
lDeployables(AbstractDeployerMojo.java:106)

        at
org.codehaus.cargo.maven2.AbstractDeployerMojo.execute(AbstractDeployerM
ojo.java:43)

        at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginMa
nager.java:412)

        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Default
LifecycleExecutor.java:534)

        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifec
ycle(DefaultLifecycleExecutor.java:475)

        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultL
ifecycleExecutor.java:454)

        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandle
Failures(DefaultLifecycleExecutor.java:306)

        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
DefaultLifecycleExecutor.java:273)

        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifec
ycleExecutor.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.jav
a:39)

        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.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)

[INFO]
------------------------------------------------------------------------

 

Thanks in advance

 

Guillaume

 

 

Guillaume

 

Reply via email to