Interface Deployer

  • All Known Implementing Classes:
    PEVirtualServer, StandardHost, StandardHostDeployer, VirtualServer

    public interface Deployer
    A Deployer is a specialized Container into which web applications can be deployed and undeployed. Such a Container will create and install child Context instances for each deployed application. The unique key for each web application will be the context path to which it is attached.
    Version:
    $Revision: 1.2 $ $Date: 2005/12/08 01:27:15 $
    Author:
    Craig R. McClanahan
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String INSTALL_EVENT
      The ContainerEvent event type sent when a new application is installed by install(), after it has been started.
      static String PRE_INSTALL_EVENT
      The ContainerEvent event type sent when a new application is being installed by install(), before it has been started.
      static String REMOVE_EVENT
      The ContainerEvent event type sent when an existing application is removed by remove().
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Context findDeployedApp​(String contextPath)
      Return the Context for the deployed application that is associated with the specified context path (if any); otherwise return null.
      String[] findDeployedApps()
      Return the context paths of all deployed web applications in this Container.
      String getName()
      Return the name of the Container with which this Deployer is associated.
      void install​(String contextPath, URL war)
      Install a new web application, whose web application archive is at the specified URL, into this container with the specified context path.
      void install​(URL config, URL war)
      Install a new web application, whose context configuration file (consisting of a <Context> element) and web application archive are at the specified URLs.
      void remove​(String contextPath)
      Remove an existing web application, attached to the specified context path.
      void remove​(String contextPath, boolean undeploy)
      Remove an existing web application, attached to the specified context path.
      void start​(String contextPath)
      Start an existing web application, attached to the specified context path.
      void stop​(String contextPath)
      Stop an existing web application, attached to the specified context path.
    • Field Detail

      • PRE_INSTALL_EVENT

        static final String PRE_INSTALL_EVENT
        The ContainerEvent event type sent when a new application is being installed by install(), before it has been started.
        See Also:
        Constant Field Values
      • INSTALL_EVENT

        static final String INSTALL_EVENT
        The ContainerEvent event type sent when a new application is installed by install(), after it has been started.
        See Also:
        Constant Field Values
      • REMOVE_EVENT

        static final String REMOVE_EVENT
        The ContainerEvent event type sent when an existing application is removed by remove().
        See Also:
        Constant Field Values
    • Method Detail

      • getName

        String getName()
        Return the name of the Container with which this Deployer is associated.
      • install

        void install​(String contextPath,
                     URL war)
              throws IOException
        Install a new web application, whose web application archive is at the specified URL, into this container with the specified context path. A context path of "" (the empty string) should be used for the root application for this container. Otherwise, the context path must start with a slash.

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

        Parameters:
        contextPath - The context path to which this application should be installed (must be unique)
        war - A URL of type "jar:" that points to a WAR file, or type "file:" that points to an unpacked directory structure containing the web application to be installed
        Throws:
        IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
        IllegalStateException - if the specified context path is already attached to an existing web application
        IOException - if an input/output error was encountered during installation
      • install

        void install​(URL config,
                     URL war)
              throws IOException

        Install a new web application, whose context configuration file (consisting of a <Context> element) and web application archive are at the specified URLs.

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

        Parameters:
        config - A URL that points to the context configuration file to be used for configuring the new Context
        war - A URL of type "jar:" that points to a WAR file, or type "file:" that points to an unpacked directory structure containing the web application to be installed
        Throws:
        IllegalArgumentException - if one of the specified URLs is null
        IllegalStateException - if the context path specified in the context configuration file is already attached to an existing web application
        IOException - if an input/output error was encountered during installation
      • findDeployedApp

        Context findDeployedApp​(String contextPath)
        Return the Context for the deployed application that is associated with the specified context path (if any); otherwise return null.
        Parameters:
        contextPath - The context path of the requested web application
      • findDeployedApps

        String[] findDeployedApps()
        Return the context paths of all deployed web applications in this Container. If there are no deployed applications, a zero-length array is returned.
      • remove

        void remove​(String contextPath)
             throws IOException
        Remove an existing web application, attached to the specified context path. 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.
        Parameters:
        contextPath - The context path of the application to be removed
        Throws:
        IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
        IllegalArgumentException - if the specified context path does not identify a currently installed web application
        IOException - if an input/output error occurs during removal
      • remove

        void remove​(String contextPath,
                    boolean undeploy)
             throws IOException
        Remove an existing web application, attached to the specified context path. 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:
        contextPath - The context path of the application to be removed
        undeploy - boolean flag to remove web application from server
        Throws:
        IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
        IllegalArgumentException - if the specified context path does not identify a currently installed web application
        IOException - if an input/output error occurs during removal
      • start

        void start​(String contextPath)
            throws IOException
        Start an existing web application, attached to the specified context path. Only starts a web application if it is not running.
        Parameters:
        contextPath - The context path of the application to be started
        Throws:
        IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
        IllegalArgumentException - if the specified context path does not identify a currently installed web application
        IOException - if an input/output error occurs during startup
      • stop

        void stop​(String contextPath)
           throws IOException
        Stop an existing web application, attached to the specified context path. Only stops a web application if it is running.
        Parameters:
        contextPath - The context path of the application to be stopped
        Throws:
        IllegalArgumentException - if the specified context path is malformed (it must be "" or start with a slash)
        IllegalArgumentException - if the specified context path does not identify a currently installed web application
        IOException - if an input/output error occurs while stopping the web application