Class HttpFactory
- java.lang.Object
-
- org.apache.axis2.transport.http.server.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 Summary
Fields Modifier and Type Field Description static String
PARAMETER_HOST_ADDRESS
Name of axis2.xml hostname parameter for SimpleHTTPServer configurationstatic String
PARAMETER_ORIGIN_SERVER
Name of axis2.xml originServer parameter for SimpleHTTPServer configurationstatic String
PARAMETER_PORT
Name of axis2.xml port parameter for SimpleHTTPServer configurationstatic String
PARAMETER_REQUEST_CORE_THREAD_POOL_SIZE
Name of axis2.xml requestCoreThreadPoolSize parameter for SimpleHTTPServer configurationstatic String
PARAMETER_REQUEST_MAX_THREAD_POOL_SIZE
Name of axis2.xml requestMaxThreadPoolSize parameter for SimpleHTTPServer configurationstatic String
PARAMETER_REQUEST_SOCKET_TIMEOUT
Name of axis2.xml requestTimeout parameter for SimpleHTTPServer configurationstatic String
PARAMETER_REQUEST_TCP_NO_DELAY
Name of axis2.xml requestTcpNoDelay parameter for SimpleHTTPServer configurationstatic String
PARAMETER_THREAD_KEEP_ALIVE_TIME
Name of axis2.xml threadKeepAliveTime parameter for SimpleHTTPServer configurationstatic String
PARAMETER_THREAD_KEEP_ALIVE_TIME_UNIT
Name of axis2.xml threadKeepAliveTimeUnit parameter for SimpleHTTPServer configuration
-
Constructor Summary
Constructors Constructor Description HttpFactory(ConfigurationContext configurationContext)
Create and configure a new HttpFactoryHttpFactory(ConfigurationContext configurationContext, int port)
Create and configure a new HttpFactoryHttpFactory(ConfigurationContext configurationContext, int port, WorkerFactory requestWorkerFactory)
Create and configure a new HttpFactory
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigurationContext
getConfigurationContext()
Getter for configurationContextString
getHostAddress()
Getter for hostAddressTransportInDescription
getHttpConfiguration()
Getter for httpConfigurationListenerManager
getListenerManager()
Return the configured listener manager or create and configure one with configurationContextString
getOriginServer()
Getter for originServerint
getPort()
Getter for port return the port on which to listen for http connections (default = 6060)int
getRequestCoreThreadPoolSize()
Getter for RequestCoreThreadPoolSizeint
getRequestMaxThreadPoolSize()
Getter for requestMaxThreadPoolSizeint
getRequestSocketTimeout()
Getter for requestSocketTimeoutboolean
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)long
getThreadKeepAliveTime()
Getter for threadKeepAliveTimeTimeUnit
getThreadKeepAliveTimeUnit()
Getter for threadKeepAliveTimeUnit return the time unit for threadKeepAliveTime (default SECONDS)org.apache.http.ConnectionReuseStrategy
newConnStrategy()
org.apache.http.protocol.HttpProcessor
newHttpProcessor()
ExecutorService
newListenerExecutor(int port)
Create the executor used to launch the single requestConnectionListenerBlockingQueue
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 connectionsHttpConnectionManager
newRequestConnectionManager(ExecutorService requestExecutor, WorkerFactory workerFactory, org.apache.http.params.HttpParams params)
Create the connection manager used to launch request threadsorg.apache.http.params.HttpParams
newRequestConnectionParams()
Create and set the parameters applied to incoming request connectionsExecutorService
newRequestExecutor(int port)
Create the executor use the manage request processing threadsWorkerFactory
newRequestWorkerFactory()
Create the factory for request workersorg.apache.http.HttpResponseFactory
newResponseFactory()
void
setHostAddress(String hostAddress)
Setter for hostAddressvoid
setOriginServer(String originServer)
Setter for originServervoid
setPort(int port)
Setter for portvoid
setRequestCoreThreadPoolSize(int requestCoreThreadPoolSize)
Setter for RequestCoreThreadPoolSizevoid
setRequestMaxThreadPoolSize(int requestMaxThreadPoolSize)
Setter for requestMaxThreadPoolSizevoid
setRequestSocketTimeout(int requestSocketTimeout)
Setter for requestSocketTimeoutvoid
setRequestTcpNoDelay(boolean requestTcpNoDelay)
Setter for requestTcpNoDelayvoid
setThreadKeepAliveTime(long threadKeepAliveTime)
Setter for threadKeepAliveTimevoid
setThreadKeepAliveTimeUnit(TimeUnit threadKeepAliveTimeUnit)
Setter for threadKeepAliveTimeUnit
-
-
-
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
-
-
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 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 IOException
Create the listener for request connections- Throws:
IOException
-
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
-
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 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
-
-