Class 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 AbstractRunMojo
    Start a spring application. Contrary to the run goal, 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
    See Also:
    StopMojo
    • Constructor Detail

    • Method Detail

      • runWithForkedJvm

        protected void runWithForkedJvm​(File workingDirectory,
                                        List<String> args,
                                        Map<String,​String> environmentVariables)
                                 throws org.apache.maven.plugin.MojoExecutionException,
                                        org.apache.maven.plugin.MojoFailureException
        Description copied from class: AbstractRunMojo
        Run with a forked VM, using the specified command line arguments.
        Specified by:
        runWithForkedJvm in class AbstractRunMojo
        Parameters:
        workingDirectory - the working directory of the forked JVM
        args - the arguments (JVM arguments and application arguments)
        environmentVariables - the environment variables
        Throws:
        org.apache.maven.plugin.MojoExecutionException - in case of MOJO execution errors
        org.apache.maven.plugin.MojoFailureException - in case of MOJO failures
      • runWithMavenJvm

        protected void runWithMavenJvm​(String startClassName,
                                       String... arguments)
                                throws org.apache.maven.plugin.MojoExecutionException
        Description copied from class: AbstractRunMojo
        Run with the current VM, using the specified arguments.
        Specified by:
        runWithMavenJvm in class AbstractRunMojo
        Parameters:
        startClassName - the class to run
        arguments - the class arguments
        Throws:
        org.apache.maven.plugin.MojoExecutionException - in case of MOJO execution errors
      • execute

        public <T> T execute​(long wait,
                             int maxAttempts,
                             Callable<T> callback)
                      throws Exception
        Execute a task, retrying it on failure.
        Type Parameters:
        T - the result type
        Parameters:
        wait - the wait time
        maxAttempts - the maximum number of attempts
        callback - the task to execute (possibly multiple times). The callback should return null to indicate that another attempt should be made
        Returns:
        the result
        Throws:
        Exception - in case of execution errors