Class DeploymentOptions

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

public class DeploymentOptions extends Object
Options for configuring a verticle deployment.

Author:
Tim Fox
  • Field Details

  • Constructor Details

    • 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 Details

    • 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
    • getThreadingModel

      public ThreadingModel getThreadingModel()
      Which threading model the verticle(s) should use?
      Returns:
      the verticle threading model
    • setThreadingModel

      public DeploymentOptions setThreadingModel(ThreadingModel threadingModel)
      Set the verticle(s) verticle(s) threading model, e.g. a worker or a virtual thread verticle
      Parameters:
      threadingModel - the threading model
      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
    • 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
    • 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(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(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
    • toJson

      public JsonObject toJson()
      Convert this to JSON
      Returns:
      the JSON