org.apache.axis2.transport.http.server
Class HttpFactory

java.lang.Object
  extended by org.apache.axis2.transport.http.server.HttpFactory

public class HttpFactory
extends java.lang.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 Summary
static java.lang.String PARAMETER_HOST_ADDRESS
          Name of axis2.xml hostname parameter for SimpleHTTPServer configuration
static java.lang.String PARAMETER_ORIGIN_SERVER
          Name of axis2.xml originServer parameter for SimpleHTTPServer configuration
static java.lang.String PARAMETER_PORT
          Name of axis2.xml port parameter for SimpleHTTPServer configuration
static java.lang.String PARAMETER_REQUEST_CORE_THREAD_POOL_SIZE
          Name of axis2.xml requestCoreThreadPoolSize parameter for SimpleHTTPServer configuration
static java.lang.String PARAMETER_REQUEST_MAX_THREAD_POOL_SIZE
          Name of axis2.xml requestMaxThreadPoolSize parameter for SimpleHTTPServer configuration
static java.lang.String PARAMETER_REQUEST_SOCKET_TIMEOUT
          Name of axis2.xml requestTimeout parameter for SimpleHTTPServer configuration
static java.lang.String PARAMETER_REQUEST_TCP_NO_DELAY
          Name of axis2.xml requestTcpNoDelay parameter for SimpleHTTPServer configuration
static java.lang.String PARAMETER_THREAD_KEEP_ALIVE_TIME
          Name of axis2.xml threadKeepAliveTime parameter for SimpleHTTPServer configuration
static java.lang.String PARAMETER_THREAD_KEEP_ALIVE_TIME_UNIT
          Name of axis2.xml threadKeepAliveTimeUnit parameter for SimpleHTTPServer configuration
 
Constructor Summary
HttpFactory(ConfigurationContext configurationContext)
          Create and configure a new HttpFactory
HttpFactory(ConfigurationContext configurationContext, int port)
          Create and configure a new HttpFactory
HttpFactory(ConfigurationContext configurationContext, int port, WorkerFactory requestWorkerFactory)
          Create and configure a new HttpFactory
 
Method Summary
 ConfigurationContext getConfigurationContext()
          Getter for configurationContext
 java.lang.String getHostAddress()
          Getter for hostAddress
 TransportInDescription getHttpConfiguration()
          Getter for httpConfiguration
 ListenerManager getListenerManager()
          Return the configured listener manager or create and configure one with configurationContext
 java.lang.String getOriginServer()
          Getter for originServer
 int getPort()
          Getter for port return the port on which to listen for http connections (default = 6060)
 int getRequestCoreThreadPoolSize()
          Getter for RequestCoreThreadPoolSize
 int getRequestMaxThreadPoolSize()
          Getter for requestMaxThreadPoolSize
 int getRequestSocketTimeout()
          Getter for requestSocketTimeout
 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.
 long getThreadKeepAliveTime()
          Getter for threadKeepAliveTime
 edu.emory.mathcs.backport.java.util.concurrent.TimeUnit getThreadKeepAliveTimeUnit()
          Getter for threadKeepAliveTimeUnit return the time unit for threadKeepAliveTime (default SECONDS)
 org.apache.http.ConnectionReuseStrategy newConnStrategy()
           
 org.apache.http.protocol.HttpProcessor newHttpProcessor()
           
 edu.emory.mathcs.backport.java.util.concurrent.ExecutorService newListenerExecutor(int port)
          Create the executor used to launch the single requestConnectionListener
 edu.emory.mathcs.backport.java.util.concurrent.BlockingQueue newRequestBlockingQueue()
          Create the queue used to hold incoming requests when requestCoreThreadPoolSize threads are busy.
 IOProcessor newRequestConnectionListener(int port, HttpConnectionManager manager, org.apache.http.params.HttpParams params)
          Create the listener for request connections
 HttpConnectionManager newRequestConnectionManager(edu.emory.mathcs.backport.java.util.concurrent.ExecutorService requestExecutor, WorkerFactory workerFactory, org.apache.http.params.HttpParams params)
          Create the connection manager used to launch request threads
 org.apache.http.params.HttpParams newRequestConnectionParams()
          Create and set the parameters applied to incoming request connections
 edu.emory.mathcs.backport.java.util.concurrent.ExecutorService newRequestExecutor(int port)
          Create the executor use the manage request processing threads
 WorkerFactory newRequestWorkerFactory()
          Create the factory for request workers
 org.apache.http.HttpResponseFactory newResponseFactory()
           
 void setHostAddress(java.lang.String hostAddress)
          Setter for hostAddress
 void setOriginServer(java.lang.String originServer)
          Setter for originServer
 void setPort(int port)
          Setter for port
 void setRequestCoreThreadPoolSize(int requestCoreThreadPoolSize)
          Setter for RequestCoreThreadPoolSize
 void setRequestMaxThreadPoolSize(int requestMaxThreadPoolSize)
          Setter for requestMaxThreadPoolSize
 void setRequestSocketTimeout(int requestSocketTimeout)
          Setter for requestSocketTimeout
 void setRequestTcpNoDelay(boolean requestTcpNoDelay)
          Setter for requestTcpNoDelay
 void setThreadKeepAliveTime(long threadKeepAliveTime)
          Setter for threadKeepAliveTime
 void setThreadKeepAliveTimeUnit(edu.emory.mathcs.backport.java.util.concurrent.TimeUnit threadKeepAliveTimeUnit)
          Setter for threadKeepAliveTimeUnit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PARAMETER_PORT

public static final java.lang.String PARAMETER_PORT
Name of axis2.xml port parameter for SimpleHTTPServer configuration

See Also:
Constant Field Values

PARAMETER_HOST_ADDRESS

public static final java.lang.String PARAMETER_HOST_ADDRESS
Name of axis2.xml hostname parameter for SimpleHTTPServer configuration

See Also:
Constant Field Values

PARAMETER_ORIGIN_SERVER

public static final java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.String PARAMETER_THREAD_KEEP_ALIVE_TIME_UNIT
Name of axis2.xml threadKeepAliveTimeUnit parameter for SimpleHTTPServer configuration

See Also:
Constant Field Values
Constructor Detail

HttpFactory

public HttpFactory(ConfigurationContext configurationContext)
            throws AxisFault
Create and configure a new HttpFactory

Throws:
AxisFault

HttpFactory

public HttpFactory(ConfigurationContext configurationContext,
                   int port)
            throws AxisFault
Create and configure a new HttpFactory

Throws:
AxisFault

HttpFactory

public HttpFactory(ConfigurationContext configurationContext,
                   int port,
                   WorkerFactory requestWorkerFactory)
            throws AxisFault
Create and configure a new HttpFactory

Throws:
AxisFault
Method Detail

getListenerManager

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


newListenerExecutor

public edu.emory.mathcs.backport.java.util.concurrent.ExecutorService newListenerExecutor(int port)
Create the executor used to launch the single requestConnectionListener


newRequestConnectionListener

public IOProcessor newRequestConnectionListener(int port,
                                                HttpConnectionManager manager,
                                                org.apache.http.params.HttpParams params)
                                         throws java.io.IOException
Create the listener for request connections

Throws:
java.io.IOException

newRequestConnectionParams

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


newRequestConnectionManager

public HttpConnectionManager newRequestConnectionManager(edu.emory.mathcs.backport.java.util.concurrent.ExecutorService requestExecutor,
                                                         WorkerFactory workerFactory,
                                                         org.apache.http.params.HttpParams params)
Create the connection manager used to launch request threads


newRequestExecutor

public edu.emory.mathcs.backport.java.util.concurrent.ExecutorService newRequestExecutor(int port)
Create the executor use the manage request processing threads


newRequestBlockingQueue

public edu.emory.mathcs.backport.java.util.concurrent.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


getHttpConfiguration

public TransportInDescription getHttpConfiguration()
Getter for httpConfiguration


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 java.lang.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(java.lang.String hostAddress)
Setter for hostAddress


getOriginServer

public java.lang.String getOriginServer()
Getter for originServer

Returns:
the Server header string for outgoing messages (default "Simple-Server/1.1")

setOriginServer

public void setOriginServer(java.lang.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 edu.emory.mathcs.backport.java.util.concurrent.TimeUnit getThreadKeepAliveTimeUnit()
Getter for threadKeepAliveTimeUnit return the time unit for threadKeepAliveTime (default SECONDS)


setThreadKeepAliveTimeUnit

public void setThreadKeepAliveTimeUnit(edu.emory.mathcs.backport.java.util.concurrent.TimeUnit threadKeepAliveTimeUnit)
Setter for threadKeepAliveTimeUnit



Copyright © 2007 Apache Web Services Project. All Rights Reserved.