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 StringPARAMETER_HOST_ADDRESSName of axis2.xml hostname parameter for SimpleHTTPServer configurationstatic StringPARAMETER_ORIGIN_SERVERName of axis2.xml originServer parameter for SimpleHTTPServer configurationstatic StringPARAMETER_PORTName of axis2.xml port parameter for SimpleHTTPServer configurationstatic StringPARAMETER_REQUEST_CORE_THREAD_POOL_SIZEName of axis2.xml requestCoreThreadPoolSize parameter for SimpleHTTPServer configurationstatic StringPARAMETER_REQUEST_MAX_THREAD_POOL_SIZEName of axis2.xml requestMaxThreadPoolSize parameter for SimpleHTTPServer configurationstatic StringPARAMETER_REQUEST_SOCKET_TIMEOUTName of axis2.xml requestTimeout parameter for SimpleHTTPServer configurationstatic StringPARAMETER_REQUEST_TCP_NO_DELAYName of axis2.xml requestTcpNoDelay parameter for SimpleHTTPServer configurationstatic StringPARAMETER_THREAD_KEEP_ALIVE_TIMEName of axis2.xml threadKeepAliveTime parameter for SimpleHTTPServer configurationstatic StringPARAMETER_THREAD_KEEP_ALIVE_TIME_UNITName 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 ConfigurationContextgetConfigurationContext()Getter for configurationContextStringgetHostAddress()Getter for hostAddressTransportInDescriptiongetHttpConfiguration()Getter for httpConfigurationListenerManagergetListenerManager()Return the configured listener manager or create and configure one with configurationContextStringgetOriginServer()Getter for originServerintgetPort()Getter for port return the port on which to listen for http connections (default = 6060)intgetRequestCoreThreadPoolSize()Getter for RequestCoreThreadPoolSizeintgetRequestMaxThreadPoolSize()Getter for requestMaxThreadPoolSizeintgetRequestSocketTimeout()Getter for requestSocketTimeoutbooleangetRequestTcpNoDelay()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)longgetThreadKeepAliveTime()Getter for threadKeepAliveTimeTimeUnitgetThreadKeepAliveTimeUnit()Getter for threadKeepAliveTimeUnit return the time unit for threadKeepAliveTime (default SECONDS)org.apache.http.ConnectionReuseStrategynewConnStrategy()org.apache.http.protocol.HttpProcessornewHttpProcessor()ExecutorServicenewListenerExecutor(int port)Create the executor used to launch the single requestConnectionListenerBlockingQueuenewRequestBlockingQueue()Create the queue used to hold incoming requests when requestCoreThreadPoolSize threads are busy.IOProcessornewRequestConnectionListener(int port, HttpConnectionManager manager, org.apache.http.params.HttpParams params)Create the listener for request connectionsHttpConnectionManagernewRequestConnectionManager(ExecutorService requestExecutor, WorkerFactory workerFactory, org.apache.http.params.HttpParams params)Create the connection manager used to launch request threadsorg.apache.http.params.HttpParamsnewRequestConnectionParams()Create and set the parameters applied to incoming request connectionsExecutorServicenewRequestExecutor(int port)Create the executor use the manage request processing threadsWorkerFactorynewRequestWorkerFactory()Create the factory for request workersorg.apache.http.HttpResponseFactorynewResponseFactory()voidsetHostAddress(String hostAddress)Setter for hostAddressvoidsetOriginServer(String originServer)Setter for originServervoidsetPort(int port)Setter for portvoidsetRequestCoreThreadPoolSize(int requestCoreThreadPoolSize)Setter for RequestCoreThreadPoolSizevoidsetRequestMaxThreadPoolSize(int requestMaxThreadPoolSize)Setter for requestMaxThreadPoolSizevoidsetRequestSocketTimeout(int requestSocketTimeout)Setter for requestSocketTimeoutvoidsetRequestTcpNoDelay(boolean requestTcpNoDelay)Setter for requestTcpNoDelayvoidsetThreadKeepAliveTime(long threadKeepAliveTime)Setter for threadKeepAliveTimevoidsetThreadKeepAliveTimeUnit(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
-
-