Timeout after which the container start/stop is deemed failed |
This feature is only available for local containers |
Cargo has a timeout for container start and stop operations. If the time taken to start/stop a container exceeds the timeout period the operations is considered failed and the container is then set in the unknown state.
The default timeout value is 2 minutes (120000 milliseconds). This value can be modified as shown below.
If the given timeout is too small, the CARGO container will give you an error message similar to this:
|
LocalContainer container = ...; container.setTimeout(180000L); System.out.println("Timeout = " + container.getTimeout()); |
<container> [...] <timeout>180000</timeout> [...] </container> |
If you set the timeout to 0
, CARGO will not wait for the container to start or stop.
Shutdown usually takes much much shorther than startup, it therefore often makes sense to use a shorter timeout for stopping the container than for starting it. With the Cargo Maven plugin, this is easy to do: indeed, in each <execution>
block of the Maven plugin, you can have different <configuration>
blocks. When done so, the plugin will use an inheritance scheme; i.e. for each execution the outermost configuration elements will be overriden by innermost elements each time these are defined.
Here is an example that uses different timeouts when starting and stopping the container:
<plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven3-plugin</artifactId> <executions> <execution> <id>start</id> <phase>pre-integration-test</phase> <goals> <goal>start</goal> </goals> <configuration> <container> <timeout>60000</timeout> </container> </configuration> </execution> <execution> <id>stop</id> <phase>post-integration-test</phase> <goals> <goal>stop</goal> </goals> <configuration> <container> <timeout>10000</timeout> </container> </configuration> </execution> </executions> <configuration> [...] </configuration> </plugin> |