Class HttpFactory


  • public class HttpFactory
    extends Object
    Factory used to configure and create the various instances required in http transports. Either configure this class in axis2.xml, or in code via the setters, or subclass it and specialize some factory methods to gain more control.
    • Field Detail

      • PARAMETER_PORT

        public static final String PARAMETER_PORT
        Name of axis2.xml port parameter for SimpleHTTPServer configuration
        See Also:
        Constant Field Values
      • PARAMETER_HOST_ADDRESS

        public static final String PARAMETER_HOST_ADDRESS
        Name of axis2.xml hostname parameter for SimpleHTTPServer configuration
        See Also:
        Constant Field Values
      • PARAMETER_ORIGIN_SERVER

        public static final String PARAMETER_ORIGIN_SERVER
        Name of axis2.xml originServer parameter for SimpleHTTPServer configuration
        See Also:
        Constant Field Values
      • PARAMETER_REQUEST_SOCKET_TIMEOUT

        public static final String PARAMETER_REQUEST_SOCKET_TIMEOUT
        Name of axis2.xml requestTimeout parameter for SimpleHTTPServer configuration
        See Also:
        Constant Field Values
      • PARAMETER_REQUEST_TCP_NO_DELAY

        public static final String PARAMETER_REQUEST_TCP_NO_DELAY
        Name of axis2.xml requestTcpNoDelay parameter for SimpleHTTPServer configuration
        See Also:
        Constant Field Values
      • PARAMETER_REQUEST_CORE_THREAD_POOL_SIZE

        public static final String PARAMETER_REQUEST_CORE_THREAD_POOL_SIZE
        Name of axis2.xml requestCoreThreadPoolSize parameter for SimpleHTTPServer configuration
        See Also:
        Constant Field Values
      • PARAMETER_REQUEST_MAX_THREAD_POOL_SIZE

        public static final String PARAMETER_REQUEST_MAX_THREAD_POOL_SIZE
        Name of axis2.xml requestMaxThreadPoolSize parameter for SimpleHTTPServer configuration
        See Also:
        Constant Field Values
      • PARAMETER_THREAD_KEEP_ALIVE_TIME

        public static final String PARAMETER_THREAD_KEEP_ALIVE_TIME
        Name of axis2.xml threadKeepAliveTime parameter for SimpleHTTPServer configuration
        See Also:
        Constant Field Values
      • PARAMETER_THREAD_KEEP_ALIVE_TIME_UNIT

        public static final String PARAMETER_THREAD_KEEP_ALIVE_TIME_UNIT
        Name of axis2.xml threadKeepAliveTimeUnit parameter for SimpleHTTPServer configuration
        See Also:
        Constant Field Values
    • Method Detail

      • getListenerManager

        public ListenerManager getListenerManager()
        Return the configured listener manager or create and configure one with configurationContext
      • newListenerExecutor

        public ExecutorService newListenerExecutor​(int port)
        Create the executor used to launch the single requestConnectionListener
      • newRequestConnectionParams

        public org.apache.http.params.HttpParams newRequestConnectionParams()
        Create and set the parameters applied to incoming request connections
      • newRequestConnectionManager

        public HttpConnectionManager newRequestConnectionManager​(ExecutorService requestExecutor,
                                                                 WorkerFactory workerFactory,
                                                                 org.apache.http.params.HttpParams params)
        Create the connection manager used to launch request threads
      • newRequestExecutor

        public ExecutorService newRequestExecutor​(int port)
        Create the executor use the manage request processing threads
      • newRequestBlockingQueue

        public BlockingQueue newRequestBlockingQueue()
        Create the queue used to hold incoming requests when requestCoreThreadPoolSize threads are busy. Default is an unbounded queue.
      • newRequestWorkerFactory

        public WorkerFactory newRequestWorkerFactory()
        Create the factory for request workers
      • newHttpProcessor

        public org.apache.http.protocol.HttpProcessor newHttpProcessor()
      • newConnStrategy

        public org.apache.http.ConnectionReuseStrategy newConnStrategy()
      • newResponseFactory

        public org.apache.http.HttpResponseFactory newResponseFactory()
      • getConfigurationContext

        public ConfigurationContext getConfigurationContext()
        Getter for configurationContext
      • getPort

        public int getPort()
        Getter for port return the port on which to listen for http connections (default = 6060)
      • setPort

        public void setPort​(int port)
        Setter for port
      • getHostAddress

        public String getHostAddress()
        Getter for hostAddress
        Returns:
        the host address (or name) to be use in reply-to endpoint references, or null if not specified (default = null)
      • setHostAddress

        public void setHostAddress​(String hostAddress)
        Setter for hostAddress
      • getOriginServer

        public String getOriginServer()
        Getter for originServer
        Returns:
        the Server header string for outgoing messages (default "Simple-Server/1.1")
      • setOriginServer

        public void setOriginServer​(String originServer)
        Setter for originServer
      • getRequestSocketTimeout

        public int getRequestSocketTimeout()
        Getter for requestSocketTimeout
        Returns:
        the maximum time in millis to wait for data on a request socket (default 20000)
      • setRequestSocketTimeout

        public void setRequestSocketTimeout​(int requestSocketTimeout)
        Setter for requestSocketTimeout
      • getRequestTcpNoDelay

        public boolean getRequestTcpNoDelay()
        Getter for requestTcpNoDelay return false iff Nagle's algorithm should be used to conserve bandwidth by minimizing segments at the cost of latency and performance (default true, i.e. maximize performance at the cost of bandwidth)
      • setRequestTcpNoDelay

        public void setRequestTcpNoDelay​(boolean requestTcpNoDelay)
        Setter for requestTcpNoDelay
      • getRequestCoreThreadPoolSize

        public int getRequestCoreThreadPoolSize()
        Getter for RequestCoreThreadPoolSize
        Returns:
        the size of the thread pool use to process requests assuming there is adequate queue space (default 25)
      • setRequestCoreThreadPoolSize

        public void setRequestCoreThreadPoolSize​(int requestCoreThreadPoolSize)
        Setter for RequestCoreThreadPoolSize
      • getRequestMaxThreadPoolSize

        public int getRequestMaxThreadPoolSize()
        Getter for requestMaxThreadPoolSize
        Returns:
        the maximum size of the thread pool used to process requests if the queue fills up (default 150). Since the default queue is unbounded this parameter is meaningless unless you override newRequestBlockingQueue()
      • setRequestMaxThreadPoolSize

        public void setRequestMaxThreadPoolSize​(int requestMaxThreadPoolSize)
        Setter for requestMaxThreadPoolSize
      • getThreadKeepAliveTime

        public long getThreadKeepAliveTime()
        Getter for threadKeepAliveTime
        Returns:
        how long a request processing thread in excess of the core pool size will be kept alive it if is inactive (default with threadKeepAliveTimeUnit to 180 seconds)
      • setThreadKeepAliveTime

        public void setThreadKeepAliveTime​(long threadKeepAliveTime)
        Setter for threadKeepAliveTime
      • getThreadKeepAliveTimeUnit

        public TimeUnit getThreadKeepAliveTimeUnit()
        Getter for threadKeepAliveTimeUnit return the time unit for threadKeepAliveTime (default SECONDS)
      • setThreadKeepAliveTimeUnit

        public void setThreadKeepAliveTimeUnit​(TimeUnit threadKeepAliveTimeUnit)
        Setter for threadKeepAliveTimeUnit