Class JettyHttpServerRegistry

  • All Implemented Interfaces:
    com.google.common.util.concurrent.Service, HttpServerRegistry

    public class JettyHttpServerRegistry
    extends com.google.common.util.concurrent.AbstractIdleService
    implements HttpServerRegistry
    HttpServerRegistry implementation based on Jetty HTTP servers.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface com.google.common.util.concurrent.Service

        com.google.common.util.concurrent.Service.Listener, com.google.common.util.concurrent.Service.State
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      String initHttpServer​(String schemeAndAuthority, boolean allowReuse)
      Creates an HTTP server at given URI.
      String registerContext​(String schemeAndAuthority, boolean allowReuse, String contextPath, String mediaType, CommunicationLogContext communicationLogContext, HttpHandler handler)
      Registers a handler for HTTP requests destined to the given scheme, authority and context path.
      protected void shutDown()  
      protected void startUp()  
      void unregisterContext​(String schemeAndAuthority, String contextPath)
      Removes a handler for the given scheme, authority and context path.
      • Methods inherited from class com.google.common.util.concurrent.AbstractIdleService

        addListener, awaitRunning, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, awaitTerminated, executor, failureCause, isRunning, serviceName, startAsync, state, stopAsync, toString
      • Methods inherited from interface com.google.common.util.concurrent.Service

        addListener, awaitRunning, awaitRunning, awaitRunning, awaitTerminated, awaitTerminated, awaitTerminated, failureCause, isRunning, startAsync, state, stopAsync
    • Method Detail

      • startUp

        protected void startUp()
                        throws Exception
        Specified by:
        startUp in class com.google.common.util.concurrent.AbstractIdleService
        Throws:
        Exception
      • shutDown

        protected void shutDown()
                         throws Exception
        Specified by:
        shutDown in class com.google.common.util.concurrent.AbstractIdleService
        Throws:
        Exception
      • initHttpServer

        public String initHttpServer​(String schemeAndAuthority,
                                     boolean allowReuse)
        Description copied from interface: HttpServerRegistry
        Creates an HTTP server at given URI.

        If there was no running HTTP server found under the passed scheme and authority, this function starts a new one. If the HTTP server supports both http and https schemes, the return value scheme will match the requested value.

        Specified by:
        initHttpServer in interface HttpServerRegistry
        Parameters:
        schemeAndAuthority - the scheme and authority where to access the HTTP server. If port number is 0, then a random open port is selected and will be part of the returned URI.
        allowReuse - if the port given in schemeAndAuthority is 0, setting this to true will allow returning any already running server, while false will create a new server. Has no effect if port is not 0.
        Returns:
        the actual assigned URI of the HTTP server.
      • registerContext

        public String registerContext​(String schemeAndAuthority,
                                      boolean allowReuse,
                                      String contextPath,
                                      @Nullable
                                      String mediaType,
                                      @Nullable
                                      CommunicationLogContext communicationLogContext,
                                      HttpHandler handler)
        Description copied from interface: HttpServerRegistry
        Registers a handler for HTTP requests destined to the given scheme, authority and context path.

        If the HTTP server supports both http and https schemes, the return value scheme will match the requested value.

        Specified by:
        registerContext in interface HttpServerRegistry
        Parameters:
        schemeAndAuthority - scheme and authority used to start a new or re-use an existing HTTP server.
        allowReuse - if the port given in schemeAndAuthority is 0, settings this to true will allow returning any already running server, while false will create a new server. Has no effect if port is not 0.
        contextPath - the context path where the given registry shall listen to.
        Important note: the context path needs to start with a slash.
        mediaType - the media type of the response the handler will produce. Null defaults to SoapConstants.MEDIA_TYPE_SOAP.
        communicationLogContext - additional information made available in the communication log of the registered context. Only has an effect if DpwsConfig.HTTP_SERVER_COMMLOG_IN_HANDLER is enabled
        handler - the handler callback that is invoked on a request to the given context path.
        Returns:
        the actual full path of the HTTP server address the given handler listens to.
        See Also:
        HttpServerRegistry.initHttpServer(String, boolean)
      • unregisterContext

        public void unregisterContext​(String schemeAndAuthority,
                                      String contextPath)
        Description copied from interface: HttpServerRegistry
        Removes a handler for the given scheme, authority and context path.

        HttpHandler.handle(InputStream, OutputStream, CommunicationContext) will not be called for any request destined to the corresponding handler. Requests to the corresponding are answered with an HTTP 404.

        Specified by:
        unregisterContext in interface HttpServerRegistry
        Parameters:
        schemeAndAuthority - scheme and authority where the context shall be removed.
        contextPath - the context path to remove. The context path needs to start with a slash.