io.vertx.core

## Class DeploymentOptions

- java.lang.Object
- - io.vertx.core.DeploymentOptions

-     public class DeploymentOptions
      extends Object

  Options for configuring a verticle deployment.

  Author:
    Tim Fox

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static boolean` | `DEFAULT_HA`
    `static int` | `DEFAULT_INSTANCES`
    `static boolean` | `DEFAULT_WORKER`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DeploymentOptions()` Default constructor
    `DeploymentOptions(DeploymentOptions other)` Copy constructor
    `DeploymentOptions(JsonObject json)` Constructor for creating a instance from JSON

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `checkIsolationNotDefined()` Throw `IllegalArgumentException` when loader isolation configuration has been defined.
    `ClassLoader` | `getClassLoader()`
    `JsonObject` | `getConfig()` Get the JSON configuration that will be passed to the verticle(s) when deployed.
    `List<String>` | `getExtraClasspath()` Deprecated.
    `int` | `getInstances()` Get the number of instances that should be deployed.
    `List<String>` | `getIsolatedClasses()` Deprecated.
    `String` | `getIsolationGroup()` Deprecated.
    `long` | `getMaxWorkerExecuteTime()` Get the value of max worker execute time, in `maxWorkerExecuteTimeUnit`.
    `TimeUnit` | `getMaxWorkerExecuteTimeUnit()` When the verticle does not use a `named worker pool`, this option has no effect.
    `String` | `getWorkerPoolName()`
    `int` | `getWorkerPoolSize()` Get the maximum number of worker threads to be used by the worker pool when the verticle is deployed with a `setWorkerPoolName(java.lang.String)`.
    `boolean` | `isHa()` Will the verticle(s) be deployed as HA (highly available) ?
    `boolean` | `isWorker()` Should the verticle(s) be deployed as a worker verticle?
    `DeploymentOptions` | `setClassLoader(ClassLoader classLoader)` Set the classloader to use for deploying the Verticle.
    `DeploymentOptions` | `setConfig(JsonObject config)` Set the JSON configuration that will be passed to the verticle(s) when it's deployed
    `DeploymentOptions` | `setExtraClasspath(List<String> extraClasspath)` Deprecated.
    `DeploymentOptions` | `setHa(boolean ha)` Set whether the verticle(s) will be deployed as HA.
    `DeploymentOptions` | `setInstances(int instances)` Set the number of instances that should be deployed.
    `DeploymentOptions` | `setIsolatedClasses(List<String> isolatedClasses)` Deprecated.
    `DeploymentOptions` | `setIsolationGroup(String isolationGroup)` Deprecated.
    `DeploymentOptions` | `setMaxWorkerExecuteTime(long maxWorkerExecuteTime)` Sets the value of max worker execute time, in `maxWorkerExecuteTimeUnit`.
    `DeploymentOptions` | `setMaxWorkerExecuteTimeUnit(TimeUnit maxWorkerExecuteTimeUnit)` Set the time unit of `maxWorkerExecuteTime`
    `DeploymentOptions` | `setWorker(boolean worker)` Set whether the verticle(s) should be deployed as a worker verticle
    `DeploymentOptions` | `setWorkerPoolName(String workerPoolName)` Set the worker pool name to use for this verticle.
    `DeploymentOptions` | `setWorkerPoolSize(int workerPoolSize)` Set the maximum number of worker threads to be used by the Vert.x instance.
    `JsonObject` | `toJson()` Convert this to JSON

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

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

- - ### Field Detail

    - #### DEFAULT_WORKER

          public static final boolean DEFAULT_WORKER

      See Also:
        Constant Field Values

    - #### DEFAULT_HA

          public static final boolean DEFAULT_HA

      See Also:
        Constant Field Values

    - #### DEFAULT_INSTANCES

          public static final int DEFAULT_INSTANCES

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### DeploymentOptions

          public DeploymentOptions()

      Default constructor

    - #### DeploymentOptions

          public DeploymentOptions(DeploymentOptions other)

      Copy constructor
      Parameters:
        `other` - the instance to copy

    - #### DeploymentOptions

          public DeploymentOptions(JsonObject json)

      Constructor for creating a instance from JSON
      Parameters:
        `json` - the JSON

  - ### Method Detail

    - #### getConfig

          public JsonObject getConfig()

      Get the JSON configuration that will be passed to the verticle(s) when deployed.
      Returns:
        the JSON config

    - #### setConfig

          public DeploymentOptions setConfig(JsonObject config)

      Set the JSON configuration that will be passed to the verticle(s) when it's deployed
      Parameters:
        `config` - the JSON config
      Returns:
        a reference to this, so the API can be used fluently

    - #### isWorker

          public boolean isWorker()

      Should the verticle(s) be deployed as a worker verticle?
      Returns:
        true if will be deployed as worker, false otherwise

    - #### setWorker

          public DeploymentOptions setWorker(boolean worker)

      Set whether the verticle(s) should be deployed as a worker verticle
      Parameters:
        `worker` - true for worker, false otherwise
      Returns:
        a reference to this, so the API can be used fluently

    - #### getIsolationGroup

          @Deprecated
          public String getIsolationGroup()

      Deprecated.
      Get the isolation group that will be used when deploying the verticle(s)
      IMPORTANT this feature is removed when running with Java 11 or above.
      Returns:
        the isolation group

    - #### setIsolationGroup

          @Deprecated
          public DeploymentOptions setIsolationGroup(String isolationGroup)

      Deprecated.
      Set the isolation group that will be used when deploying the verticle(s)
      IMPORTANT this feature is removed when running with Java 11 or above.
      Parameters:
        `isolationGroup` - - the isolation group
      Returns:
        a reference to this, so the API can be used fluently

    - #### isHa

          public boolean isHa()

      Will the verticle(s) be deployed as HA (highly available) ?
      Returns:
        true if HA, false otherwise

    - #### setHa

          public DeploymentOptions setHa(boolean ha)

      Set whether the verticle(s) will be deployed as HA.
      Parameters:
        `ha` - true if to be deployed as HA, false otherwise
      Returns:
        a reference to this, so the API can be used fluently

    - #### getExtraClasspath

          @Deprecated
          public List<String> getExtraClasspath()

      Deprecated.
      Get any extra classpath to be used when deploying the verticle.

      Ignored if no isolation group is set.
      IMPORTANT this feature is removed when running with Java 11 or above.

      Returns:
        any extra classpath

    - #### setExtraClasspath

          @Deprecated
          public DeploymentOptions setExtraClasspath(List<String> extraClasspath)

      Deprecated.
      Set any extra classpath to be used when deploying the verticle.

      Ignored if no isolation group is set.
      IMPORTANT this feature is removed when running with Java 11 or above.

      Returns:
        a reference to this, so the API can be used fluently

    - #### getInstances

          public int getInstances()

      Get the number of instances that should be deployed.
      Returns:
        the number of instances

    - #### setInstances

          public DeploymentOptions setInstances(int instances)

      Set the number of instances that should be deployed.
      Parameters:
        `instances` - the number of instances
      Returns:
        a reference to this, so the API can be used fluently

    - #### getIsolatedClasses

          @Deprecated
          public List<String> getIsolatedClasses()

      Deprecated.
      Get the list of isolated class names, the names can be a Java class fully qualified name such as 'com.mycompany.myproject.engine.MyClass' or a wildcard matching such as `com.mycompany.myproject.*`.
      IMPORTANT this feature is removed when running with Java 11 or above.
      Returns:
        the list of isolated classes

    - #### setIsolatedClasses

          @Deprecated
          public DeploymentOptions setIsolatedClasses(List<String> isolatedClasses)

      Deprecated.
      Set the isolated class names.
      IMPORTANT this feature is removed when running with Java 11 or above.
      Parameters:
        `isolatedClasses` - the list of isolated class names
      Returns:
        a reference to this, so the API can be used fluently

    - #### getWorkerPoolName

          public String getWorkerPoolName()

      Returns:
        the worker pool name

    - #### setWorkerPoolName

          public DeploymentOptions setWorkerPoolName(String workerPoolName)

      Set the worker pool name to use for this verticle. When no name is set, the Vert.x worker pool will be used, when a name is set, the verticle will use a named worker pool.
      Parameters:
        `workerPoolName` - the worker pool name
      Returns:
        a reference to this, so the API can be used fluently

    - #### getWorkerPoolSize

          public int getWorkerPoolSize()

      Get the maximum number of worker threads to be used by the worker pool when the verticle is deployed with a `setWorkerPoolName(java.lang.String)`.

      Worker threads are used for running blocking code and worker verticles.

      When the verticle does not use a `named worker pool`, this option has no effect.

      Returns:
        the maximum number of worker threads

    - #### setWorkerPoolSize

          public DeploymentOptions setWorkerPoolSize(int workerPoolSize)

      Set the maximum number of worker threads to be used by the Vert.x instance.

      When the verticle does not use a `named worker pool`, this option has no effect.

      Parameters:
        `workerPoolSize` - the number of threads
      Returns:
        a reference to this, so the API can be used fluently

    - #### getMaxWorkerExecuteTime

          public long getMaxWorkerExecuteTime()

      Get the value of max worker execute time, in `maxWorkerExecuteTimeUnit`.

      Vert.x will automatically log a warning if it detects that worker threads haven't returned within this time.

      This can be used to detect where the user is blocking a worker thread for too long. Although worker threads can be blocked longer than event loop threads, they shouldn't be blocked for long periods of time.

      When the verticle does not use a `named worker pool`, this option has no effect.

      Returns:
        The value of max worker execute time, the default value of `setMaxWorkerExecuteTimeUnit(java.util.concurrent.TimeUnit)` `maxWorkerExecuteTimeUnit` is `TimeUnit.NANOSECONDS`

    - #### setMaxWorkerExecuteTime

          public DeploymentOptions setMaxWorkerExecuteTime(long maxWorkerExecuteTime)

      Sets the value of max worker execute time, in `maxWorkerExecuteTimeUnit`.

      The default value of `maxWorkerExecuteTimeUnit` is `TimeUnit.NANOSECONDS`

      When the verticle does not use a `named worker pool`, this option has no effect.

      Parameters:
        `maxWorkerExecuteTime` - the value of max worker execute time, in in `maxWorkerExecuteTimeUnit`.
      Returns:
        a reference to this, so the API can be used fluently

    - #### getMaxWorkerExecuteTimeUnit

          public TimeUnit getMaxWorkerExecuteTimeUnit()

      When the verticle does not use a `named worker pool`, this option has no effect.
      Returns:
        the time unit of `maxWorkerExecuteTime`

    - #### setMaxWorkerExecuteTimeUnit

          public DeploymentOptions setMaxWorkerExecuteTimeUnit(TimeUnit maxWorkerExecuteTimeUnit)

      Set the time unit of `maxWorkerExecuteTime`

      When the verticle does not use a `named worker pool`, this option has no effect.

      Parameters:
        `maxWorkerExecuteTimeUnit` - the time unit of `maxWorkerExecuteTime`
      Returns:
        a reference to this, so the API can be used fluently

    - #### getClassLoader

          public ClassLoader getClassLoader()

      Returns:
        the classloader used for deploying the Verticle

    - #### setClassLoader

          public DeploymentOptions setClassLoader(ClassLoader classLoader)

      Set the classloader to use for deploying the Verticle.

      The `VerticleFactory` will use this classloader for creating the Verticle and the Verticle `Context` will set this classloader as context classloader for the tasks execution on context.

      By default no classloader is required and the deployment will use the current thread context classloader.

      Parameters:
        `classLoader` - the loader to use
      Returns:
        a reference to this, so the API can be used fluently

    - #### checkIsolationNotDefined

          public void checkIsolationNotDefined()

      Throw `IllegalArgumentException` when loader isolation configuration has been defined.

    - #### toJson

          public JsonObject toJson()

      Convert this to JSON
      Returns:
        the JSON

Copyright © 2024 Eclipse. All rights reserved.