ContainerService

com.google.appengine.tools.development

Interface ContainerService

  • All Known Implementing Classes:
    AbstractContainerService


    public interface ContainerService
    Provides the backing servlet container support for the DevAppServer, as discovered via ServiceProvider.

    More specifically, this interface encapsulates the interactions between the DevAppServer and the underlying servlet container, which by default uses Jetty.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method and Description
      com.google.appengine.tools.development.LocalServerEnvironment configure(java.lang.String devAppServerVersion, java.lang.String address, int port, com.google.appengine.tools.development.ApplicationConfigurationManager.ModuleConfigurationHandle moduleConfigurationHandle, java.io.File externalResourceDirectory, java.util.Map<java.lang.String,java.lang.Object> containerConfigProperties, int instance, DevAppServer devAppServer)
      Sets up the necessary configuration parameters.
      void createConnection()
      Create's this containers network connections.
      void forwardToServer(HttpServletRequest hrequest, HttpServletResponse hresponse)
      Forwards an HttpRequest request to this container.
      java.lang.String getAddress()
      Returns the listener network address, however it's decided during the servlet container deployment.
      com.google.appengine.tools.development.AppContext getAppContext()
      Returns the context representing the currently executing webapp.
      AppEngineWebXml getAppEngineWebXmlConfig()
      Return the AppEngineWebXml configuration of this container
      java.lang.String getHostName()
      Returns the host name of the module instance, however it's decided during the the servlet container deployment.
      int getPort()
      Returns the listener port number, however it's decided during the servlet container deployment.
      java.util.Map<java.lang.String,java.lang.String> getServiceProperties()
      Get a set of properties to be passed to each service, based on the AppEngineWebXml configuration.
      void setApiProxyDelegate(<any> apiProxyDelegate)
      Sets the com.google.apphosting.api.ApiProxy.Delegate.
      void shutdown()
      Shuts down the servlet container.
      void startup()
      Starts up the servlet container.
    • Method Detail

      • configure

        com.google.appengine.tools.development.LocalServerEnvironment configure(java.lang.String devAppServerVersion,
                                                                                java.lang.String address,
                                                                                int port,
                                                                                com.google.appengine.tools.development.ApplicationConfigurationManager.ModuleConfigurationHandle moduleConfigurationHandle,
                                                                                java.io.File externalResourceDirectory,
                                                                                java.util.Map<java.lang.String,java.lang.Object> containerConfigProperties,
                                                                                int instance,
                                                                                DevAppServer devAppServer)
        Sets up the necessary configuration parameters.
        Parameters:
        devAppServerVersion - Version of the devAppServer.
        address - The address on which the module instance will run
        port - The port to which the module instance will be bound. If 0, an available port will be selected.
        moduleConfigurationHandle - Handle to access and reread the configuration.
        externalResourceDirectory - If not null, a resource directory external to the applicationDirectory. This will be searched before applicationDirectory when looking for resources.
        instance - the 0 based instance number for this container's instance or LocalEnvironment.MAIN_INSTANCE.
        containerConfigProperties - Additional properties used in the configuration of the specific container implementation. This map travels across classloader boundaries, so all values in the map must be JRE classes.
        Returns:
        A LocalServerEnvironment describing the environment in which the module instance is running.
      • createConnection

        void createConnection()
                       throws java.lang.Exception
        Create's this containers network connections. After this returns getAddress(), getPort() and getHostName return correct values for this container.
        Throws:
        java.lang.Exception
      • setApiProxyDelegate

        void setApiProxyDelegate(<any> apiProxyDelegate)
        Sets the com.google.apphosting.api.ApiProxy.Delegate.

        Note that this provides access to the original delegate which was established by the DevAppServer. Though this delegate is usually available by calling the delegate can be changed by the application so we keep this reference to the original.

        Parameters:
        apiProxyDelegate -
      • startup

        void startup()
              throws java.lang.Exception
        Starts up the servlet container.
        Throws:
        java.lang.Exception - Any exception from the container will be rethrown as is.
      • shutdown

        void shutdown()
               throws java.lang.Exception
        Shuts down the servlet container.
        Throws:
        java.lang.Exception - Any exception from the container will be rethrown as is.
      • getAddress

        java.lang.String getAddress()
        Returns the listener network address, however it's decided during the servlet container deployment.
      • getPort

        int getPort()
        Returns the listener port number, however it's decided during the servlet container deployment.
      • getHostName

        java.lang.String getHostName()
        Returns the host name of the module instance, however it's decided during the the servlet container deployment.
      • getAppContext

        com.google.appengine.tools.development.AppContext getAppContext()
        Returns the context representing the currently executing webapp.
      • getAppEngineWebXmlConfig

        AppEngineWebXml getAppEngineWebXmlConfig()
        Return the AppEngineWebXml configuration of this container
      • getServiceProperties

        java.util.Map<java.lang.String,java.lang.String> getServiceProperties()
        Get a set of properties to be passed to each service, based on the AppEngineWebXml configuration.
        Returns:
        the map of properties to be passed to each service.
      • forwardToServer

        void forwardToServer(HttpServletRequest hrequest,
                             HttpServletResponse hresponse)
                      throws java.io.IOException,
                             ServletException
        Forwards an HttpRequest request to this container.
        Throws:
        java.io.IOException
        ServletException