org.apache.catalina.ha

## Interface ClusterDeployer

- All Superinterfaces:
    ChannelListener
  All Known Implementing Classes:
    FarmWarDeployer

      public interface ClusterDeployer
      extends ChannelListener

  A ClusterDeployer interface allows to plug in and out the different deployment implementations

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `backgroundProcess()` call from container Background Process
    `CatalinaCluster` | `getCluster()` Returns the cluster the cluster deployer is associated with
    `void` | `install(String contextName, File webapp)` Install a new web application, whose web application archive is at the specified URL, into this container and all the other members of the cluster with the specified context name.
    `void` | `remove(String contextName, boolean undeploy)` Remove an existing web application, attached to the specified context name.
    `void` | `setCluster(CatalinaCluster cluster)` Associates the cluster deployer with a cluster
    `void` | `start()` Start the cluster deployer, the owning container will invoke this
    `void` | `stop()` Stops the cluster deployer, the owning container will invoke this

    - ### Methods inherited from interface org.apache.catalina.tribes.ChannelListener

      `accept, equals, hashCode, messageReceived`

- - ### Method Detail

    - #### start

          void start()
                     throws Exception

      Start the cluster deployer, the owning container will invoke this
      Throws:
        `Exception` - - if failure to start cluster

    - #### stop

          void stop()
                    throws LifecycleException

      Stops the cluster deployer, the owning container will invoke this
      Throws:
        `LifecycleException` - Error stopping cluster deployer

    - #### install

          void install(String contextName,
                     File webapp)
                       throws IOException

      Install a new web application, whose web application archive is at the specified URL, into this container and all the other members of the cluster with the specified context name.

      If this application is successfully installed locally, a ContainerEvent of type `INSTALL_EVENT` will be sent to all registered listeners, with the newly created `Context` as an argument.

      Parameters:
        `contextName` - The context name to which this application should be installed (must be unique)
        `webapp` - A WAR file or unpacked directory structure containing the web application to be installed
      Throws:
        `IllegalArgumentException` - if the specified context name is malformed
        `IllegalStateException` - if the specified context name is already attached to an existing web application
        `IOException` - if an input/output error was encountered during installation

    - #### remove

          void remove(String contextName,
                    boolean undeploy)
                      throws IOException

      Remove an existing web application, attached to the specified context name. If this application is successfully removed, a ContainerEvent of type `REMOVE_EVENT` will be sent to all registered listeners, with the removed `Context` as an argument. Deletes the web application war file and/or directory if they exist in the Host's appBase.
      Parameters:
        `contextName` - The context name of the application to be removed
        `undeploy` - boolean flag to remove web application from server
      Throws:
        `IllegalArgumentException` - if the specified context name is malformed
        `IllegalArgumentException` - if the specified context name does not identify a currently installed web application
        `IOException` - if an input/output error occurs during removal

    - #### backgroundProcess

          void backgroundProcess()

      call from container Background Process

    - #### getCluster

          CatalinaCluster getCluster()

      Returns the cluster the cluster deployer is associated with
      Returns:
        CatalinaCluster

    - #### setCluster

          void setCluster(CatalinaCluster cluster)

      Associates the cluster deployer with a cluster
      Parameters:
        `cluster` - CatalinaCluster

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.