io.vertx.core

## Interface Vertx

- All Superinterfaces:
    Measured

      public interface Vertx
      extends Measured

  The entry point into the Vert.x Core API.

  You use an instance of this class for functionality including:

  - Creating TCP clients and servers
  - Creating HTTP clients and servers
  - Creating DNS clients
  - Creating Datagram sockets
  - Setting and cancelling periodic and one-shot timers
  - Getting a reference to the event bus API
  - Getting a reference to the file system API
  - Getting a reference to the shared data API
  - Deploying and undeploying verticles

  Most functionality in Vert.x core is fairly low level.

  To create an instance of this class you can use the static factory methods: `vertx()`, `vertx(io.vertx.core.VertxOptions)` and `clusteredVertx(io.vertx.core.VertxOptions, Handler)`.

  Please see the user manual for more detailed usage information.

  Author:
    Tim Fox, Julien Viet

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static VertxBuilder` | `builder()`
    `boolean` | `cancelTimer(long id)` Cancels the timer with the specified `id`.
    `Future<Void>` | `close()` Stop the Vertx instance and release any resources held by it.
    `void` | `close(Handler<AsyncResult<Void>> completionHandler)` Like `close()` but the completionHandler will be called when the close is complete
    `static Future<Vertx>` | `clusteredVertx(VertxOptions options)` Same as `clusteredVertx(VertxOptions, Handler)` but with an `handler` called when the operation completes
    `static void` | `clusteredVertx(VertxOptions options, Handler<AsyncResult<Vertx>> resultHandler)` Creates a clustered instance using the specified options.
    `default DatagramSocket` | `createDatagramSocket()` Create a datagram socket using default options
    `DatagramSocket` | `createDatagramSocket(DatagramSocketOptions options)` Create a datagram socket using the specified options
    `DnsClient` | `createDnsClient()` Create a DNS client to connect to the DNS server configured by `VertxOptions.getAddressResolverOptions()`
    `DnsClient` | `createDnsClient(DnsClientOptions options)` Create a DNS client to connect to a DNS server
    `DnsClient` | `createDnsClient(int port, String host)` Create a DNS client to connect to a DNS server at the specified host and port, with the default query timeout (5 seconds)
    `default HttpClient` | `createHttpClient()` Create a HTTP/HTTPS client using default options
    `default HttpClient` | `createHttpClient(HttpClientOptions clientOptions)` Create a HTTP/HTTPS client using the specified client options
    `default HttpClient` | `createHttpClient(HttpClientOptions clientOptions, PoolOptions poolOptions)` Create a HTTP/HTTPS client using the specified client and pool options
    `default HttpClient` | `createHttpClient(PoolOptions poolOptions)` Create a HTTP/HTTPS client using the specified pool options
    `default HttpServer` | `createHttpServer()` Create an HTTP/HTTPS server using default options
    `HttpServer` | `createHttpServer(HttpServerOptions options)` Create an HTTP/HTTPS server using the specified options
    `default NetClient` | `createNetClient()` Create a TCP/SSL client using default options
    `NetClient` | `createNetClient(NetClientOptions options)` Create a TCP/SSL client using the specified options
    `default NetServer` | `createNetServer()` Create a TCP/SSL server using default options
    `NetServer` | `createNetServer(NetServerOptions options)` Create a TCP/SSL server using the specified options
    `WorkerExecutor` | `createSharedWorkerExecutor(String name)` Like `createSharedWorkerExecutor(String, int)` but with the `VertxOptions.setWorkerPoolSize(int)` `poolSize`.
    `WorkerExecutor` | `createSharedWorkerExecutor(String name, int poolSize)` Like `createSharedWorkerExecutor(String, int, long)` but with the `VertxOptions.setMaxWorkerExecuteTime(long)` `maxExecuteTime`.
    `WorkerExecutor` | `createSharedWorkerExecutor(String name, int poolSize, long maxExecuteTime)` Like `createSharedWorkerExecutor(String, int, long, TimeUnit)` but with the `VertxOptions.setMaxWorkerExecuteTimeUnit(TimeUnit)` `maxExecuteTimeUnit`.
    `WorkerExecutor` | `createSharedWorkerExecutor(String name, int poolSize, long maxExecuteTime, TimeUnit maxExecuteTimeUnit)` Create a named worker executor, the executor should be closed when it's not needed anymore to release resources. This method can be called mutiple times with the same `name`.
    `default WebSocketClient` | `createWebSocketClient()` Create a WebSocket client using default options
    `WebSocketClient` | `createWebSocketClient(WebSocketClientOptions options)` Create a WebSocket client using the specified options
    `static Context` | `currentContext()` Gets the current context
    `Set<String>` | `deploymentIDs()` Return a Set of deployment IDs for the currently deployed deploymentIDs.
    `Future<String>` | `deployVerticle(Class<? extends Verticle> verticleClass, DeploymentOptions options)` Like `deployVerticle(Verticle, DeploymentOptions)` but `Verticle` instance is created by invoking the default constructor of `verticleClass`.
    `void` | `deployVerticle(Class<? extends Verticle> verticleClass, DeploymentOptions options, Handler<AsyncResult<String>> completionHandler)` Like `deployVerticle(Verticle, DeploymentOptions, Handler)` but `Verticle` instance is created by invoking the default constructor of `verticleClass`.
    `default Future<String>` | `deployVerticle(String name)` Deploy a verticle instance given a name.
    `Future<String>` | `deployVerticle(String name, DeploymentOptions options)` Like `deployVerticle(Verticle)` but `DeploymentOptions` are provided to configure the deployment.
    `void` | `deployVerticle(String name, DeploymentOptions options, Handler<AsyncResult<String>> completionHandler)` Like `deployVerticle(String, Handler)` but `DeploymentOptions` are provided to configure the deployment.
    `default void` | `deployVerticle(String name, Handler<AsyncResult<String>> completionHandler)` Like `deployVerticle(String)` but the completionHandler will be notified when the deployment is complete.
    `Future<String>` | `deployVerticle(java.util.function.Supplier<Verticle> verticleSupplier, DeploymentOptions options)` Like `deployVerticle(Verticle, DeploymentOptions)` but `Verticle` instance is created by invoking the `verticleSupplier`.
    `void` | `deployVerticle(java.util.function.Supplier<Verticle> verticleSupplier, DeploymentOptions options, Handler<AsyncResult<String>> completionHandler)` Like `deployVerticle(Verticle, DeploymentOptions, Handler)` but `Verticle` instance is created by invoking the `verticleSupplier`.
    `default Future<String>` | `deployVerticle(Verticle verticle)` Deploy a verticle instance that you have created yourself.
    `Future<String>` | `deployVerticle(Verticle verticle, DeploymentOptions options)` Like `deployVerticle(Verticle)` but `DeploymentOptions` are provided to configure the deployment.
    `void` | `deployVerticle(Verticle verticle, DeploymentOptions options, Handler<AsyncResult<String>> completionHandler)` Like `deployVerticle(Verticle, Handler)` but `DeploymentOptions` are provided to configure the deployment.
    `void` | `deployVerticle(Verticle verticle, Handler<AsyncResult<String>> completionHandler)` Like `deployVerticle(Verticle)` but the completionHandler will be notified when the deployment is complete.
    `EventBus` | `eventBus()` Get the event bus object.
    `Handler<Throwable>` | `exceptionHandler()`
    `Vertx` | `exceptionHandler(Handler<Throwable> handler)` Set a default exception handler for `Context`, set on `Context.exceptionHandler(Handler)` at creation.
    `default <T> Future<T>` | `executeBlocking(Callable<T> blockingCodeHandler)` Like `executeBlocking(Callable, boolean)` called with ordered = true.
    `default <T> Future<T>` | `executeBlocking(Callable<T> blockingCodeHandler, boolean ordered)` Safely execute some blocking code.
    `default <T> void` | `executeBlocking(Callable<T> blockingCodeHandler, boolean ordered, Handler<AsyncResult<T>> resultHandler)` Like `executeBlocking(Callable, boolean)` but using a callback.
    `default <T> void` | `executeBlocking(Callable<T> blockingCodeHandler, Handler<AsyncResult<T>> resultHandler)` Like `executeBlocking(Callable)` but using a callback.
    `default <T> Future<T>` | `executeBlocking(Handler<Promise<T>> blockingCodeHandler)` Deprecated. instead use `executeBlocking(Callable)`
    `default <T> Future<T>` | `executeBlocking(Handler<Promise<T>> blockingCodeHandler, boolean ordered)` Deprecated. instead use `executeBlocking(Callable, boolean)`
    `default <T> void` | `executeBlocking(Handler<Promise<T>> blockingCodeHandler, boolean ordered, Handler<AsyncResult<T>> resultHandler)` Deprecated. use instead `executeBlocking(Callable, boolean)`
    `default <T> void` | `executeBlocking(Handler<Promise<T>> blockingCodeHandler, Handler<AsyncResult<T>> resultHandler)` Deprecated. instead use `executeBlocking(Callable)`
    `FileSystem` | `fileSystem()` Get the filesystem object.
    `Context` | `getOrCreateContext()` Gets the current context, or creates one if there isn't one
    `HttpClientBuilder` | `httpClientBuilder()` Provide a builder for `HttpClient`, it can be used to configure advanced HTTP client settings like a redirect handler or a connection handler.
    `boolean` | `isClustered()` Is this Vert.x instance clustered?
    `boolean` | `isNativeTransportEnabled()`
    `EventLoopGroup` | `nettyEventLoopGroup()` Deprecated. removed from public API in Vert.x 5
    `default TimeoutStream` | `periodicStream(long delay)` Deprecated. use `setPeriodic(long, io.vertx.core.Handler<java.lang.Long>)` instead. RxJava like integrations should use the Vert.x scheduler integration.
    `TimeoutStream` | `periodicStream(long initialDelay, long delay)` Deprecated. use `setPeriodic(long, io.vertx.core.Handler<java.lang.Long>)` instead. RxJava like integrations should use the Vert.x scheduler integration.
    `void` | `registerVerticleFactory(VerticleFactory factory)` Register a `VerticleFactory` that can be used for deploying Verticles based on an identifier.
    `void` | `runOnContext(Handler<Void> action)` Puts the handler on the event queue for the current context so it will be run asynchronously ASAP after all preceeding events have been handled.
    `default long` | `setPeriodic(long delay, Handler<Long> handler)` Set a periodic timer to fire every `delay` milliseconds, at which point `handler` will be called with the id of the timer.
    `long` | `setPeriodic(long initialDelay, long delay, Handler<Long> handler)` Set a periodic timer to fire every `delay` milliseconds with initial delay, at which point `handler` will be called with the id of the timer.
    `long` | `setTimer(long delay, Handler<Long> handler)` Set a one-shot timer to fire after `delay` milliseconds, at which point `handler` will be called with the id of the timer.
    `SharedData` | `sharedData()` Get the shared data object.
    `default Timer` | `timer(long delay)` Like `timer(long, TimeUnit)` with a unit in millis.
    `Timer` | `timer(long delay, TimeUnit unit)` Create a timer task configured with the specified `delay`, when the timeout fires the timer future is succeeded, when the timeout is cancelled the timer future is failed with a `CancellationException` instance.
    `TimeoutStream` | `timerStream(long delay)` Deprecated. use `setTimer(long, io.vertx.core.Handler<java.lang.Long>)` instead. RxJava like integrations should use the Vert.x scheduler integration.
    `Throwable` | `unavailableNativeTransportCause()`
    `Future<Void>` | `undeploy(String deploymentID)` Undeploy a verticle deployment.
    `void` | `undeploy(String deploymentID, Handler<AsyncResult<Void>> completionHandler)` Like `undeploy(String)` but the completionHandler will be notified when the undeployment is complete.
    `void` | `unregisterVerticleFactory(VerticleFactory factory)` Unregister a `VerticleFactory`
    `Set<VerticleFactory>` | `verticleFactories()` Return the Set of currently registered verticle factories.
    `static Vertx` | `vertx()` Creates a non clustered instance using default options.
    `static Vertx` | `vertx(VertxOptions options)` Creates a non clustered instance using the specified options

    - ### Methods inherited from interface io.vertx.core.metrics.Measured

      `isMetricsEnabled`

- - ### Method Detail

    - #### builder

          static VertxBuilder builder()

    - #### vertx

          static Vertx vertx()

      Creates a non clustered instance using default options.
      Returns:
        the instance

    - #### vertx

          static Vertx vertx(VertxOptions options)

      Creates a non clustered instance using the specified options
      Parameters:
        `options` - the options to use
      Returns:
        the instance

    - #### clusteredVertx

          static void clusteredVertx(VertxOptions options,
                                     Handler<AsyncResult<Vertx>> resultHandler)

      Creates a clustered instance using the specified options.

      The instance is created asynchronously and the resultHandler is called with the result when it is ready.

      Parameters:
        `options` - the options to use
        `resultHandler` - the result handler that will receive the result

    - #### clusteredVertx

          static Future<Vertx> clusteredVertx(VertxOptions options)

      Same as `clusteredVertx(VertxOptions, Handler)` but with an `handler` called when the operation completes

    - #### currentContext

          static Context currentContext()

      Gets the current context
      Returns:
        The current context or `null` if there is no current context

    - #### getOrCreateContext

          Context getOrCreateContext()

      Gets the current context, or creates one if there isn't one
      Returns:
        The current context (created if didn't exist)

    - #### createNetServer

          NetServer createNetServer(NetServerOptions options)

      Create a TCP/SSL server using the specified options
      Parameters:
        `options` - the options to use
      Returns:
        the server

    - #### createNetServer

          default NetServer createNetServer()

      Create a TCP/SSL server using default options
      Returns:
        the server

    - #### createNetClient

          NetClient createNetClient(NetClientOptions options)

      Create a TCP/SSL client using the specified options
      Parameters:
        `options` - the options to use
      Returns:
        the client

    - #### createNetClient

          default NetClient createNetClient()

      Create a TCP/SSL client using default options
      Returns:
        the client

    - #### createHttpServer

          HttpServer createHttpServer(HttpServerOptions options)

      Create an HTTP/HTTPS server using the specified options
      Parameters:
        `options` - the options to use
      Returns:
        the server

    - #### createHttpServer

          default HttpServer createHttpServer()

      Create an HTTP/HTTPS server using default options
      Returns:
        the server

    - #### createWebSocketClient

          default WebSocketClient createWebSocketClient()

      Create a WebSocket client using default options
      Returns:
        the client

    - #### createWebSocketClient

          WebSocketClient createWebSocketClient(WebSocketClientOptions options)

      Create a WebSocket client using the specified options
      Parameters:
        `options` - the options to use
      Returns:
        the client

    - #### httpClientBuilder

          HttpClientBuilder httpClientBuilder()

      Provide a builder for `HttpClient`, it can be used to configure advanced HTTP client settings like a redirect handler or a connection handler.

      Example usage: `HttpClient client = vertx.httpClientBuilder().with(options).withConnectHandler(conn -> ...).build()`

    - #### createHttpClient

          default HttpClient createHttpClient(HttpClientOptions clientOptions,
                                              PoolOptions poolOptions)

      Create a HTTP/HTTPS client using the specified client and pool options
      Parameters:
        `clientOptions` - the client options to use
        `poolOptions` - the pool options to use
      Returns:
        the client

    - #### createHttpClient

          default HttpClient createHttpClient(HttpClientOptions clientOptions)

      Create a HTTP/HTTPS client using the specified client options
      Parameters:
        `clientOptions` - the options to use
      Returns:
        the client

    - #### createHttpClient

          default HttpClient createHttpClient(PoolOptions poolOptions)

      Create a HTTP/HTTPS client using the specified pool options
      Parameters:
        `poolOptions` - the pool options to use
      Returns:
        the client

    - #### createHttpClient

          default HttpClient createHttpClient()

      Create a HTTP/HTTPS client using default options
      Returns:
        the client

    - #### createDatagramSocket

          DatagramSocket createDatagramSocket(DatagramSocketOptions options)

      Create a datagram socket using the specified options
      Parameters:
        `options` - the options to use
      Returns:
        the socket

    - #### createDatagramSocket

          default DatagramSocket createDatagramSocket()

      Create a datagram socket using default options
      Returns:
        the socket

    - #### fileSystem

          FileSystem fileSystem()

      Get the filesystem object. There is a single instance of FileSystem per Vertx instance.
      Returns:
        the filesystem object

    - #### eventBus

          EventBus eventBus()

      Get the event bus object. There is a single instance of EventBus per Vertx instance.
      Returns:
        the event bus object

    - #### createDnsClient

          DnsClient createDnsClient(int port,
                                    String host)

      Create a DNS client to connect to a DNS server at the specified host and port, with the default query timeout (5 seconds)

      Parameters:
        `port` - the port
        `host` - the host
      Returns:
        the DNS client

    - #### createDnsClient

          DnsClient createDnsClient()

      Create a DNS client to connect to the DNS server configured by `VertxOptions.getAddressResolverOptions()`

      DNS client takes the first configured resolver address provided by `DnsResolverProvider#nameServerAddresses()`}

      Returns:
        the DNS client

    - #### createDnsClient

          DnsClient createDnsClient(DnsClientOptions options)

      Create a DNS client to connect to a DNS server
      Parameters:
        `options` - the client options
      Returns:
        the DNS client

    - #### sharedData

          SharedData sharedData()

      Get the shared data object. There is a single instance of SharedData per Vertx instance.
      Returns:
        the shared data object

    - #### timer

          default Timer timer(long delay)

      Like `timer(long, TimeUnit)` with a unit in millis.

    - #### timer

          Timer timer(long delay,
                      TimeUnit unit)

      Create a timer task configured with the specified `delay`, when the timeout fires the timer future is succeeded, when the timeout is cancelled the timer future is failed with a `CancellationException` instance.
      Parameters:
        `delay` - the delay
        `unit` - the delay unit
      Returns:
        the timer object

    - #### setTimer

          long setTimer(long delay,
                        Handler<Long> handler)

      Set a one-shot timer to fire after `delay` milliseconds, at which point `handler` will be called with the id of the timer.
      Parameters:
        `delay` - the delay in milliseconds, after which the timer will fire
        `handler` - the handler that will be called with the timer ID when the timer fires
      Returns:
        the unique ID of the timer

    - #### timerStream

          @Deprecated
          TimeoutStream timerStream(long delay)

      Deprecated. use `setTimer(long, io.vertx.core.Handler<java.lang.Long>)` instead. RxJava like integrations should use the Vert.x scheduler integration.
      Returns a one-shot timer as a read stream. The timer will be fired after `delay` milliseconds after the `ReadStream.handler(io.vertx.core.Handler<T>)` has been called.
      Parameters:
        `delay` - the delay in milliseconds, after which the timer will fire
      Returns:
        the timer stream

    - #### setPeriodic

          default long setPeriodic(long delay,
                                   Handler<Long> handler)

      Set a periodic timer to fire every `delay` milliseconds, at which point `handler` will be called with the id of the timer.
      Parameters:
        `delay` - the delay in milliseconds, after which the timer will fire
        `handler` - the handler that will be called with the timer ID when the timer fires
      Returns:
        the unique ID of the timer

    - #### setPeriodic

          long setPeriodic(long initialDelay,
                           long delay,
                           Handler<Long> handler)

      Set a periodic timer to fire every `delay` milliseconds with initial delay, at which point `handler` will be called with the id of the timer.
      Parameters:
        `initialDelay` - the initial delay in milliseconds
        `delay` - the delay in milliseconds, after which the timer will fire
        `handler` - the handler that will be called with the timer ID when the timer fires
      Returns:
        the unique ID of the timer

    - #### periodicStream

          @Deprecated
          default TimeoutStream periodicStream(long delay)

      Deprecated. use `setPeriodic(long, io.vertx.core.Handler<java.lang.Long>)` instead. RxJava like integrations should use the Vert.x scheduler integration.
      Returns a periodic timer as a read stream. The timer will be fired every `delay` milliseconds after the `ReadStream.handler(io.vertx.core.Handler<T>)` has been called.
      Parameters:
        `delay` - the delay in milliseconds, after which the timer will fire
      Returns:
        the periodic stream

    - #### periodicStream

          @Deprecated
          TimeoutStream periodicStream(long initialDelay,
                                                   long delay)

      Deprecated. use `setPeriodic(long, io.vertx.core.Handler<java.lang.Long>)` instead. RxJava like integrations should use the Vert.x scheduler integration.
      Returns a periodic timer as a read stream. The timer will be fired every `delay` milliseconds after the `ReadStream.handler(io.vertx.core.Handler<T>)` has been called.
      Parameters:
        `initialDelay` - the initial delay in milliseconds
        `delay` - the delay in milliseconds, after which the timer will fire
      Returns:
        the periodic stream

    - #### cancelTimer

          boolean cancelTimer(long id)

      Cancels the timer with the specified `id`.
      Parameters:
        `id` - The id of the timer to cancel
      Returns:
        true if the timer was successfully cancelled, or false if the timer does not exist.

    - #### runOnContext

          void runOnContext(Handler<Void> action)

      Puts the handler on the event queue for the current context so it will be run asynchronously ASAP after all preceeding events have been handled.
      Parameters:
        `action` - - a handler representing the action to execute

    - #### close

          Future<Void> close()

      Stop the Vertx instance and release any resources held by it.

      The instance cannot be used after it has been closed.

      The actual close is asynchronous and may not complete until after the call has returned.

      Returns:
        a future completed with the result

    - #### close

          void close(Handler<AsyncResult<Void>> completionHandler)

      Like `close()` but the completionHandler will be called when the close is complete
      Parameters:
        `completionHandler` - The handler will be notified when the close is complete.

    - #### deployVerticle

          default Future<String> deployVerticle(Verticle verticle)

      Deploy a verticle instance that you have created yourself.

      Vert.x will assign the verticle a context and start the verticle.

      The actual deploy happens asynchronously and may not complete until after the call has returned.

      Parameters:
        `verticle` - the verticle instance to deploy.
      Returns:
        a future completed with the result

    - #### deployVerticle

          void deployVerticle(Verticle verticle,
                              Handler<AsyncResult<String>> completionHandler)

      Like `deployVerticle(Verticle)` but the completionHandler will be notified when the deployment is complete.

      If the deployment is successful the result will contain a string representing the unique deployment ID of the deployment.

      This deployment ID can subsequently be used to undeploy the verticle.

      Parameters:
        `verticle` - the verticle instance to deploy
        `completionHandler` - a handler which will be notified when the deployment is complete

    - #### deployVerticle

          Future<String> deployVerticle(Verticle verticle,
                                        DeploymentOptions options)

      Like `deployVerticle(Verticle)` but `DeploymentOptions` are provided to configure the deployment.
      Parameters:
        `verticle` - the verticle instance to deploy
        `options` - the deployment options.
      Returns:
        a future completed with the result

    - #### deployVerticle

          Future<String> deployVerticle(Class<? extends Verticle> verticleClass,
                                        DeploymentOptions options)

      Like `deployVerticle(Verticle, DeploymentOptions)` but `Verticle` instance is created by invoking the default constructor of `verticleClass`.
      Returns:
        a future completed with the result

    - #### deployVerticle

          Future<String> deployVerticle(java.util.function.Supplier<Verticle> verticleSupplier,
                                        DeploymentOptions options)

      Like `deployVerticle(Verticle, DeploymentOptions)` but `Verticle` instance is created by invoking the `verticleSupplier`.

      The supplier will be invoked as many times as `DeploymentOptions.getInstances()`. It must not return the same instance twice.

      Note that the supplier will be invoked on the caller thread.

      Returns:
        a future completed with the result

    - #### deployVerticle

          void deployVerticle(Verticle verticle,
                              DeploymentOptions options,
                              Handler<AsyncResult<String>> completionHandler)

      Like `deployVerticle(Verticle, Handler)` but `DeploymentOptions` are provided to configure the deployment.
      Parameters:
        `verticle` - the verticle instance to deploy
        `options` - the deployment options.
        `completionHandler` - a handler which will be notified when the deployment is complete

    - #### deployVerticle

          void deployVerticle(Class<? extends Verticle> verticleClass,
                              DeploymentOptions options,
                              Handler<AsyncResult<String>> completionHandler)

      Like `deployVerticle(Verticle, DeploymentOptions, Handler)` but `Verticle` instance is created by invoking the default constructor of `verticleClass`.

    - #### deployVerticle

          void deployVerticle(java.util.function.Supplier<Verticle> verticleSupplier,
                              DeploymentOptions options,
                              Handler<AsyncResult<String>> completionHandler)

      Like `deployVerticle(Verticle, DeploymentOptions, Handler)` but `Verticle` instance is created by invoking the `verticleSupplier`.

      The supplier will be invoked as many times as `DeploymentOptions.getInstances()`. It must not return the same instance twice.

      Note that the supplier will be invoked on the caller thread.

    - #### deployVerticle

          default Future<String> deployVerticle(String name)

      Deploy a verticle instance given a name.

      Given the name, Vert.x selects a `VerticleFactory` instance to use to instantiate the verticle.

      For the rules on how factories are selected please consult the user manual.

      Parameters:
        `name` - the name.
      Returns:
        a future completed with the result

    - #### deployVerticle

          default void deployVerticle(String name,
                                      Handler<AsyncResult<String>> completionHandler)

      Like `deployVerticle(String)` but the completionHandler will be notified when the deployment is complete.

      If the deployment is successful the result will contain a String representing the unique deployment ID of the deployment.

      This deployment ID can subsequently be used to undeploy the verticle.

      Parameters:
        `name` - The identifier
        `completionHandler` - a handler which will be notified when the deployment is complete

    - #### deployVerticle

          Future<String> deployVerticle(String name,
                                        DeploymentOptions options)

      Like `deployVerticle(Verticle)` but `DeploymentOptions` are provided to configure the deployment.
      Parameters:
        `name` - the name
        `options` - the deployment options.
      Returns:
        a future completed with the result

    - #### deployVerticle

          void deployVerticle(String name,
                              DeploymentOptions options,
                              Handler<AsyncResult<String>> completionHandler)

      Like `deployVerticle(String, Handler)` but `DeploymentOptions` are provided to configure the deployment.
      Parameters:
        `name` - the name
        `options` - the deployment options.
        `completionHandler` - a handler which will be notified when the deployment is complete

    - #### undeploy

          Future<Void> undeploy(String deploymentID)

      Undeploy a verticle deployment.

      The actual undeployment happens asynchronously and may not complete until after the method has returned.

      Parameters:
        `deploymentID` - the deployment ID
      Returns:
        a future completed with the result

    - #### undeploy

          void undeploy(String deploymentID,
                        Handler<AsyncResult<Void>> completionHandler)

      Like `undeploy(String)` but the completionHandler will be notified when the undeployment is complete.
      Parameters:
        `deploymentID` - the deployment ID
        `completionHandler` - a handler which will be notified when the undeployment is complete

    - #### deploymentIDs

          Set<String> deploymentIDs()

      Return a Set of deployment IDs for the currently deployed deploymentIDs.
      Returns:
        Set of deployment IDs

    - #### registerVerticleFactory

          void registerVerticleFactory(VerticleFactory factory)

      Register a `VerticleFactory` that can be used for deploying Verticles based on an identifier.
      Parameters:
        `factory` - the factory to register

    - #### unregisterVerticleFactory

          void unregisterVerticleFactory(VerticleFactory factory)

      Unregister a `VerticleFactory`
      Parameters:
        `factory` - the factory to unregister

    - #### verticleFactories

          Set<VerticleFactory> verticleFactories()

      Return the Set of currently registered verticle factories.
      Returns:
        the set of verticle factories

    - #### isClustered

          boolean isClustered()

      Is this Vert.x instance clustered?
      Returns:
        true if clustered

    - #### executeBlocking

          @Deprecated
          default <T> void executeBlocking(Handler<Promise<T>> blockingCodeHandler,
                                                       boolean ordered,
                                                       Handler<AsyncResult<T>> resultHandler)

      Deprecated. use instead `executeBlocking(Callable, boolean)`
      Safely execute some blocking code.

      Executes the blocking code in the handler `blockingCodeHandler` using a thread from the worker pool.

      The returned future will be completed with the result on the original context (i.e. on the original event loop of the caller) or failed when the handler throws an exception.

      A `Future` instance is passed into `blockingCodeHandler`. When the blocking code successfully completes, the handler should call the `Promise.complete(T)` or `Promise.complete(Object)` method, or the `Promise.fail(java.lang.Throwable)` method if it failed.

      In the `blockingCodeHandler` the current context remains the original context and therefore any task scheduled in the `blockingCodeHandler` will be executed on this context and not on the worker thread.

      The blocking code should block for a reasonable amount of time (i.e no more than a few seconds). Long blocking operations or polling operations (i.e a thread that spin in a loop polling events in a blocking fashion) are precluded.

      When the blocking operation lasts more than the 10 seconds, a message will be printed on the console by the blocked thread checker.

      Long blocking operations should use a dedicated thread managed by the application, which can interact with verticles using the event-bus or `Context.runOnContext(Handler)`

      Type Parameters:
        `T` - the type of the result
      Parameters:
        `blockingCodeHandler` - handler representing the blocking code to run
        `resultHandler` - handler that will be called when the blocking code is complete
        `ordered` - if true then if executeBlocking is called several times on the same context, the executions for that context will be executed serially, not in parallel. if false then they will be no ordering guarantees

    - #### executeBlocking

          @Deprecated
          default <T> void executeBlocking(Handler<Promise<T>> blockingCodeHandler,
                                                       Handler<AsyncResult<T>> resultHandler)

      Deprecated. instead use `executeBlocking(Callable)`
      Like `executeBlocking(Handler, boolean, Handler)` called with ordered = true.

    - #### executeBlocking

          @Deprecated
          default <T> Future<T> executeBlocking(Handler<Promise<T>> blockingCodeHandler,
                                                            boolean ordered)

      Deprecated. instead use `executeBlocking(Callable, boolean)`
      Same as `executeBlocking(Handler, boolean, Handler)` but with an `handler` called when the operation completes

    - #### executeBlocking

          default <T> Future<T> executeBlocking(Callable<T> blockingCodeHandler,
                                                boolean ordered)

      Safely execute some blocking code.

      Executes the blocking code in the handler `blockingCodeHandler` using a thread from the worker pool.

      The returned future will be completed with the result on the original context (i.e. on the original event loop of the caller) or failed when the handler throws an exception.

      In the `blockingCodeHandler` the current context remains the original context and therefore any task scheduled in the `blockingCodeHandler` will be executed on this context and not on the worker thread.

      The blocking code should block for a reasonable amount of time (i.e no more than a few seconds). Long blocking operations or polling operations (i.e a thread that spin in a loop polling events in a blocking fashion) are precluded.

      When the blocking operation lasts more than the 10 seconds, a message will be printed on the console by the blocked thread checker.

      Long blocking operations should use a dedicated thread managed by the application, which can interact with verticles using the event-bus or `Context.runOnContext(Handler)`

      Type Parameters:
        `T` - the type of the result
      Parameters:
        `blockingCodeHandler` - handler representing the blocking code to run
        `ordered` - if true then if executeBlocking is called several times on the same context, the executions for that context will be executed serially, not in parallel. if false then they will be no ordering guarantees
      Returns:
        a future completed when the blocking code is complete

    - #### executeBlocking

          default <T> void executeBlocking(Callable<T> blockingCodeHandler,
                                           Handler<AsyncResult<T>> resultHandler)

      Like `executeBlocking(Callable)` but using a callback.

    - #### executeBlocking

          default <T> void executeBlocking(Callable<T> blockingCodeHandler,
                                           boolean ordered,
                                           Handler<AsyncResult<T>> resultHandler)

      Like `executeBlocking(Callable, boolean)` but using a callback.

    - #### executeBlocking

          @Deprecated
          default <T> Future<T> executeBlocking(Handler<Promise<T>> blockingCodeHandler)

      Deprecated. instead use `executeBlocking(Callable)`
      Same as `executeBlocking(Handler, Handler)` but with an `handler` called when the operation completes

    - #### executeBlocking

          default <T> Future<T> executeBlocking(Callable<T> blockingCodeHandler)

      Like `executeBlocking(Callable, boolean)` called with ordered = true.

    - #### nettyEventLoopGroup

          @Deprecated
          EventLoopGroup nettyEventLoopGroup()

      Deprecated. removed from public API in Vert.x 5
      Return the Netty EventLoopGroup used by Vert.x
      Returns:
        the EventLoopGroup

    - #### createSharedWorkerExecutor

          WorkerExecutor createSharedWorkerExecutor(String name)

      Like `createSharedWorkerExecutor(String, int)` but with the `VertxOptions.setWorkerPoolSize(int)` `poolSize`.

    - #### createSharedWorkerExecutor

          WorkerExecutor createSharedWorkerExecutor(String name,
                                                    int poolSize)

      Like `createSharedWorkerExecutor(String, int, long)` but with the `VertxOptions.setMaxWorkerExecuteTime(long)` `maxExecuteTime`.

    - #### createSharedWorkerExecutor

          WorkerExecutor createSharedWorkerExecutor(String name,
                                                    int poolSize,
                                                    long maxExecuteTime)

      Like `createSharedWorkerExecutor(String, int, long, TimeUnit)` but with the `VertxOptions.setMaxWorkerExecuteTimeUnit(TimeUnit)` `maxExecuteTimeUnit`.

    - #### createSharedWorkerExecutor

          WorkerExecutor createSharedWorkerExecutor(String name,
                                                    int poolSize,
                                                    long maxExecuteTime,
                                                    TimeUnit maxExecuteTimeUnit)

      Create a named worker executor, the executor should be closed when it's not needed anymore to release resources.

      This method can be called mutiple times with the same `name`. Executors with the same name will share the same worker pool. The worker pool size , max execute time and unit of max execute time are set when the worker pool is created and won't change after.

      The worker pool is released when all the `WorkerExecutor` sharing the same name are closed.

      Parameters:
        `name` - the name of the worker executor
        `poolSize` - the size of the pool
        `maxExecuteTime` - the value of max worker execute time
        `maxExecuteTimeUnit` - the value of unit of max worker execute time
      Returns:
        the named worker executor

    - #### isNativeTransportEnabled

          boolean isNativeTransportEnabled()

      Returns:
        whether the native transport is used

    - #### unavailableNativeTransportCause

          Throwable unavailableNativeTransportCause()

      Returns:
        the error (if any) that cause the unavailability of native transport when `isNativeTransportEnabled()` returns `false`.

    - #### exceptionHandler

          Vertx exceptionHandler(Handler<Throwable> handler)

      Set a default exception handler for `Context`, set on `Context.exceptionHandler(Handler)` at creation.
      Parameters:
        `handler` - the exception handler
      Returns:
        a reference to this, so the API can be used fluently

    - #### exceptionHandler

          Handler<Throwable> exceptionHandler()

      Returns:
        the current default exception handler

Copyright © 2024 Eclipse. All rights reserved.