io.vertx.core

## Class Launcher

- java.lang.Object
- - io.vertx.core.cli.UsageMessageFormatter
  - - io.vertx.core.impl.launcher.VertxCommandLauncher
    - - io.vertx.core.Launcher

- All Implemented Interfaces:
    io.vertx.core.impl.launcher.VertxLifecycleHooks

      public class Launcher
      extends io.vertx.core.impl.launcher.VertxCommandLauncher
      implements io.vertx.core.impl.launcher.VertxLifecycleHooks

  A `main()` class that can be used to create Vert.x instance and deploy a verticle, or run a bare Vert.x instance.

  This class is used by the `vertx` command line utility to deploy verticles from the command line. It is extensible as "commands" can be added using the `CommandFactory` SPI.

  E.g.

  `vertx run myverticle.js` `vertx my-command ...`

  It can also be used as the main class of an executable jar so you can run verticles directly with:

  `java -jar myapp.jar`
  Author:
    Clement Escoffier

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class io.vertx.core.impl.launcher.VertxCommandLauncher

      `io.vertx.core.impl.launcher.VertxCommandLauncher.CommandRegistration`

  - ### Field Summary

    - ### Fields inherited from class io.vertx.core.impl.launcher.VertxCommandLauncher

      `commandByName, lookups, main, PROCESS_ARGS`

    - ### Fields inherited from class io.vertx.core.cli.UsageMessageFormatter

      `DEFAULT_ARG_NAME, DEFAULT_DESC_PAD, DEFAULT_LEFT_PAD, DEFAULT_LONG_OPT_PREFIX, DEFAULT_LONG_OPT_SEPARATOR, DEFAULT_OPT_PREFIX, DEFAULT_USAGE_PREFIX, DEFAULT_WIDTH, optionComparator`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Launcher()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `afterConfigParsed(JsonObject config)` Hook for sub-classes of `Launcher` after the config has been parsed.
    `void` | `afterStartingVertx(Vertx vertx)` Hook for sub-classes of `Launcher` after the vertx instance is started.
    `void` | `afterStoppingVertx()` Hook for sub classes of the `Launcher` class called after the `Vertx` instance has been terminated.
    `void` | `beforeDeployingVerticle(DeploymentOptions deploymentOptions)` Hook for sub-classes of `Launcher` before the verticle is deployed.
    `void` | `beforeStartingVertx(VertxOptions options)` Hook for sub-classes of `Launcher` before the vertx instance is started.
    `void` | `beforeStoppingVertx(Vertx vertx)` Hook for sub classes of the `Launcher` class called before the `Vertx` instance is terminated.
    `static void` | `executeCommand(String cmd, String... args)` Utility method to execute a specific command.
    `void` | `handleDeployFailed(Vertx vertx, String mainVerticle, DeploymentOptions deploymentOptions, Throwable cause)` A deployment failure has been encountered.
    `static void` | `main(String[] args)` Main entry point.

    - ### Methods inherited from class io.vertx.core.impl.launcher.VertxCommandLauncher

      `dispatch, dispatch, execute, getCommandFromManifest, getCommandLinePrefix, getCommandNames, getDefaultCommand, getExistingCommandInstance, getMainVerticle, getNewCommandInstance, getPrintStream, getProcessArguments, isAskingForHelp, isAskingForVersion, load, printCommandNotFound, printCommandUsage, printGenericExecutionError, printGlobalUsage, printSpecificException, register, register, register, resetProcessArguments, unregister`

    - ### Methods inherited from class io.vertx.core.cli.UsageMessageFormatter

      `appendArgument, appendOption, buildWrapped, buildWrapped, computeOptionsAndArguments, computeUsage, computeUsageLine, createPadding, findWrapPos, getArgName, getDescPadding, getLeftPadding, getLongOptionPrefix, getLongOptionSeparator, getNewLine, getOptionComparator, getOptionPrefix, getUsagePrefix, getWidth, isNullOrEmpty, renderCommands, renderOptionsAndArguments, renderWrappedText, renderWrappedTextBlock, rtrim, setArgName, setDescPadding, setLeftPadding, setLongOptionPrefix, setLongOptionSeparator, setNewLine, setOptionComparator, setOptionPrefix, setUsagePrefix, setWidth, usage, usage`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Launcher

          public Launcher()

  - ### Method Detail

    - #### main

          public static void main(String[] args)

      Main entry point.
      Parameters:
        `args` - the user command line arguments.

    - #### executeCommand

          public static void executeCommand(String cmd,
                                            String... args)

      Utility method to execute a specific command.
      Parameters:
        `cmd` - the command
        `args` - the arguments

    - #### afterConfigParsed

          public void afterConfigParsed(JsonObject config)

      Hook for sub-classes of `Launcher` after the config has been parsed.
      Specified by:
        `afterConfigParsed` in interface `io.vertx.core.impl.launcher.VertxLifecycleHooks`
      Parameters:
        `config` - the read config, empty if none are provided.

    - #### beforeStartingVertx

          public void beforeStartingVertx(VertxOptions options)

      Hook for sub-classes of `Launcher` before the vertx instance is started.
      Specified by:
        `beforeStartingVertx` in interface `io.vertx.core.impl.launcher.VertxLifecycleHooks`
      Parameters:
        `options` - the configured Vert.x options. Modify them to customize the Vert.x instance.

    - #### afterStartingVertx

          public void afterStartingVertx(Vertx vertx)

      Hook for sub-classes of `Launcher` after the vertx instance is started.
      Specified by:
        `afterStartingVertx` in interface `io.vertx.core.impl.launcher.VertxLifecycleHooks`
      Parameters:
        `vertx` - the created Vert.x instance

    - #### beforeDeployingVerticle

          public void beforeDeployingVerticle(DeploymentOptions deploymentOptions)

      Hook for sub-classes of `Launcher` before the verticle is deployed.
      Specified by:
        `beforeDeployingVerticle` in interface `io.vertx.core.impl.launcher.VertxLifecycleHooks`
      Parameters:
        `deploymentOptions` - the current deployment options. Modify them to customize the deployment.

    - #### beforeStoppingVertx

          public void beforeStoppingVertx(Vertx vertx)

      Description copied from interface: `io.vertx.core.impl.launcher.VertxLifecycleHooks`
      Hook for sub classes of the `Launcher` class called before the `Vertx` instance is terminated. The hook is called during the `Vertx.close()` method.
      Specified by:
        `beforeStoppingVertx` in interface `io.vertx.core.impl.launcher.VertxLifecycleHooks`
      Parameters:
        `vertx` - the `Vertx` instance, cannot be `null`

    - #### afterStoppingVertx

          public void afterStoppingVertx()

      Description copied from interface: `io.vertx.core.impl.launcher.VertxLifecycleHooks`
      Hook for sub classes of the `Launcher` class called after the `Vertx` instance has been terminated. The hook is called after the `Vertx.close()` method.
      Specified by:
        `afterStoppingVertx` in interface `io.vertx.core.impl.launcher.VertxLifecycleHooks`

    - #### handleDeployFailed

          public void handleDeployFailed(Vertx vertx,
                                         String mainVerticle,
                                         DeploymentOptions deploymentOptions,
                                         Throwable cause)

      A deployment failure has been encountered. You can override this method to customize the behavior. By default it closes the `vertx` instance.
      Specified by:
        `handleDeployFailed` in interface `io.vertx.core.impl.launcher.VertxLifecycleHooks`
      Parameters:
        `vertx` - the vert.x instance
        `mainVerticle` - the verticle
        `deploymentOptions` - the verticle deployment options
        `cause` - the cause of the failure

Copyright © 2022 Eclipse. All rights reserved.