Package io.joshworks.snappy.maven
Class StartMojo
- java.lang.Object
-
- org.apache.maven.plugin.AbstractMojo
-
- io.joshworks.snappy.maven.AbstractDependencyFilterMojo
-
- io.joshworks.snappy.maven.AbstractRunMojo
-
- io.joshworks.snappy.maven.StartMojo
-
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled,org.apache.maven.plugin.Mojo
@Mojo(name="start", requiresProject=true, defaultPhase=PRE_INTEGRATION_TEST, requiresDependencyResolution=TEST) public class StartMojo extends AbstractRunMojoStart a application. Contrary to therungoal, this does not block and allows other goal to operate on the application. This goal is typically used in integration test scenario where the application is started before a test suite and stopped after.- Since:
- 1.3.0
- Author:
- Stephane Nicoll
- See Also:
StopMojo
-
-
Constructor Summary
Constructors Constructor Description StartMojo()
-
Method Summary
Modifier and Type Method Description <T> Texecute(long wait, int maxAttempts, java.util.concurrent.Callable<T> callback)Execute a task, retrying it on failure.protected io.joshworks.snappy.maven.RunArgumentsresolveApplicationArguments()Resolve the application arguments to use.protected io.joshworks.snappy.maven.RunArgumentsresolveJvmArguments()Resolve the JVM arguments to use.protected voidrunWithForkedJvm(java.util.List<java.lang.String> args)Run with a forked VM, using the specified command line arguments.protected voidrunWithMavenJvm(java.lang.String startClassName, java.lang.String... arguments)Run with the current VM, using the specified arguments.-
Methods inherited from class io.joshworks.snappy.maven.AbstractRunMojo
execute, getClassPathUrls, isFork
-
Methods inherited from class io.joshworks.snappy.maven.AbstractDependencyFilterMojo
filterDependencies, getFilters, setExcludeArtifactIds, setExcludeGroupIds, setExcludes, setIncludes
-
-
-
-
Method Detail
-
runWithForkedJvm
protected void runWithForkedJvm(java.util.List<java.lang.String> args) throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureExceptionDescription copied from class:AbstractRunMojoRun with a forked VM, using the specified command line arguments.- Specified by:
runWithForkedJvmin classAbstractRunMojo- Parameters:
args- the arguments (JVM arguments and application arguments)- Throws:
org.apache.maven.plugin.MojoExecutionException- in case of MOJO execution errorsorg.apache.maven.plugin.MojoFailureException- in case of MOJO failures
-
resolveApplicationArguments
protected io.joshworks.snappy.maven.RunArguments resolveApplicationArguments()
Description copied from class:AbstractRunMojoResolve the application arguments to use.- Overrides:
resolveApplicationArgumentsin classAbstractRunMojo- Returns:
- a
RunArgumentsdefining the application arguments
-
resolveJvmArguments
protected io.joshworks.snappy.maven.RunArguments resolveJvmArguments()
Description copied from class:AbstractRunMojoResolve the JVM arguments to use.- Overrides:
resolveJvmArgumentsin classAbstractRunMojo- Returns:
- a
RunArgumentsdefining the JVM arguments
-
runWithMavenJvm
protected void runWithMavenJvm(java.lang.String startClassName, java.lang.String... arguments) throws org.apache.maven.plugin.MojoExecutionExceptionDescription copied from class:AbstractRunMojoRun with the current VM, using the specified arguments.- Specified by:
runWithMavenJvmin classAbstractRunMojo- Parameters:
startClassName- the class to runarguments- the class arguments- Throws:
org.apache.maven.plugin.MojoExecutionException- in case of MOJO execution errors
-
execute
public <T> T execute(long wait, int maxAttempts, java.util.concurrent.Callable<T> callback) throws java.lang.ExceptionExecute a task, retrying it on failure.- Type Parameters:
T- the result type- Parameters:
wait- the wait timemaxAttempts- the maximum number of attemptscallback- the task to execute (possibly multiple times). The callback should returnnullto indicate that another attempt should be made- Returns:
- the result
- Throws:
java.lang.Exception- in case of execution errors
-
-