public abstract class AbstractProtocol<S> extends java.lang.Object implements ProtocolHandler, javax.management.MBeanRegistration
Modifier and Type | Class and Description |
---|---|
protected class |
AbstractProtocol.AsyncTimeout
Async timeout thread
|
protected static class |
AbstractProtocol.ConnectionHandler<S> |
protected static class |
AbstractProtocol.RecycledProcessors |
Modifier and Type | Field and Description |
---|---|
protected Adapter |
adapter
The adapter provides the link between the ProtocolHandler and the
connector.
|
protected java.lang.String |
domain |
protected javax.management.MBeanServer |
mserver |
protected javax.management.ObjectName |
oname |
protected int |
processorCache
The maximum number of idle processors that will be retained in the cache
and re-used with a subsequent request.
|
protected javax.management.ObjectName |
rgOname
Name of MBean for the Global Request Processor.
|
Constructor and Description |
---|
AbstractProtocol(AbstractEndpoint<S,?> endpoint) |
Modifier and Type | Method and Description |
---|---|
void |
addWaitingProcessor(Processor processor) |
protected abstract Processor |
createProcessor()
Create and configure a new Processor instance for the current protocol
implementation.
|
protected abstract Processor |
createUpgradeProcessor(SocketWrapperBase<?> socket,
UpgradeToken upgradeToken) |
void |
destroy()
Destroy the protocol (optional).
|
int |
getAcceptCount() |
int |
getAcceptorThreadCount() |
int |
getAcceptorThreadPriority() |
Adapter |
getAdapter() |
java.net.InetAddress |
getAddress() |
AbstractProtocol.AsyncTimeout |
getAsyncTimeout() |
java.lang.String |
getClientCertProvider()
When client certificate information is presented in a form other than
instances of
X509Certificate it needs to be
converted before it can be used and this property controls which JSSE
provider is used to perform the conversion. |
long |
getConnectionCount() |
int |
getConnectionLinger() |
int |
getConnectionTimeout() |
java.lang.String |
getDomain() |
protected AbstractEndpoint<S,?> |
getEndpoint() |
java.util.concurrent.Executor |
getExecutor()
The executor, provide access to the underlying thread pool.
|
protected AbstractEndpoint.Handler<S> |
getHandler() |
int |
getKeepAliveTimeout()
The time Tomcat will wait for a subsequent request before closing the
connection.
|
int |
getLocalPort() |
protected abstract Log |
getLog()
Concrete implementations need to provide access to their logger to be
used by the abstract classes.
|
int |
getMaxConnections() |
int |
getMaxHeaderCount() |
int |
getMaxThreads() |
int |
getMinSpareThreads() |
java.lang.String |
getName()
The name will be prefix-address-port if address is non-null and
prefix-port if the address is null.
|
int |
getNameIndex() |
protected abstract java.lang.String |
getNamePrefix()
Obtain the prefix to be used when construction a name for this protocol
handler.
|
protected abstract UpgradeProtocol |
getNegotiatedProtocol(java.lang.String name)
Find a suitable handler for the protocol negotiated
at the network layer.
|
javax.management.ObjectName |
getObjectName() |
int |
getPort() |
int |
getProcessorCache() |
java.lang.String |
getProperty(java.lang.String name)
Generic property getter used by the digester.
|
protected abstract java.lang.String |
getProtocolName()
Obtain the name of the protocol, (Http, Ajp, etc.).
|
boolean |
getTcpNoDelay() |
int |
getThreadPriority() |
protected abstract UpgradeProtocol |
getUpgradeProtocol(java.lang.String name)
Find a suitable handler for the protocol upgraded name specified.
|
void |
init()
Initialise the protocol.
|
boolean |
isAprRequired()
Requires APR/native library
|
boolean |
isPaused() |
boolean |
isSendfileSupported()
Does this ProtocolHandler support sendfile?
|
void |
pause()
Pause the protocol (optional).
|
void |
postDeregister() |
void |
postRegister(java.lang.Boolean registrationDone) |
void |
preDeregister() |
javax.management.ObjectName |
preRegister(javax.management.MBeanServer server,
javax.management.ObjectName name) |
void |
removeWaitingProcessor(Processor processor) |
void |
resume()
Resume the protocol (optional).
|
void |
setAcceptCount(int acceptCount) |
void |
setAcceptorThreadCount(int threadCount) |
void |
setAcceptorThreadPriority(int threadPriority) |
void |
setAdapter(Adapter adapter)
The adapter, used to call the connector.
|
void |
setAddress(java.net.InetAddress ia) |
void |
setClientCertProvider(java.lang.String s) |
void |
setConnectionLinger(int connectionLinger) |
void |
setConnectionTimeout(int timeout) |
void |
setExecutor(java.util.concurrent.Executor executor) |
protected void |
setHandler(AbstractEndpoint.Handler<S> handler) |
void |
setKeepAliveTimeout(int keepAliveTimeout) |
void |
setMaxConnections(int maxConnections) |
void |
setMaxHeaderCount(int maxHeaderCount) |
void |
setMaxThreads(int maxThreads) |
void |
setMinSpareThreads(int minSpareThreads) |
void |
setPort(int port) |
void |
setProcessorCache(int processorCache) |
boolean |
setProperty(java.lang.String name,
java.lang.String value)
Generic property setter used by the digester.
|
void |
setTcpNoDelay(boolean tcpNoDelay) |
void |
setThreadPriority(int threadPriority) |
void |
start()
Start the protocol.
|
void |
stop()
Stop the protocol.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addSslHostConfig, addUpgradeProtocol, findSslHostConfigs, findUpgradeProtocols
protected javax.management.ObjectName rgOname
protected Adapter adapter
protected int processorCache
getMaxConnections()
although it will
usually be closer to getMaxThreads()
.protected java.lang.String domain
protected javax.management.ObjectName oname
protected javax.management.MBeanServer mserver
public AbstractProtocol(AbstractEndpoint<S,?> endpoint)
public boolean setProperty(java.lang.String name, java.lang.String value)
name
- The name of the property to setvalue
- The value, in string form, to set for the propertytrue
if the property was set successfully, otherwise
false
public java.lang.String getProperty(java.lang.String name)
name
- The name of the property to getpublic void setAdapter(Adapter adapter)
ProtocolHandler
setAdapter
in interface ProtocolHandler
adapter
- The adapter to associatepublic Adapter getAdapter()
getAdapter
in interface ProtocolHandler
public int getProcessorCache()
public void setProcessorCache(int processorCache)
public java.lang.String getClientCertProvider()
X509Certificate
it needs to be
converted before it can be used and this property controls which JSSE
provider is used to perform the conversion. For example it is used with
the AJP connectors, the HTTP APR connector and with the
SSLValve
. If not specified, the
default provider will be used.public void setClientCertProvider(java.lang.String s)
public int getMaxHeaderCount()
public void setMaxHeaderCount(int maxHeaderCount)
public boolean isAprRequired()
ProtocolHandler
isAprRequired
in interface ProtocolHandler
true
if this Protocol Handler requires the
APR/native library, otherwise false
public boolean isSendfileSupported()
ProtocolHandler
isSendfileSupported
in interface ProtocolHandler
true
if this Protocol Handler supports sendfile,
otherwise false
public AbstractProtocol.AsyncTimeout getAsyncTimeout()
public java.util.concurrent.Executor getExecutor()
ProtocolHandler
getExecutor
in interface ProtocolHandler
public void setExecutor(java.util.concurrent.Executor executor)
public int getMaxThreads()
public void setMaxThreads(int maxThreads)
public int getMaxConnections()
public void setMaxConnections(int maxConnections)
public int getMinSpareThreads()
public void setMinSpareThreads(int minSpareThreads)
public int getThreadPriority()
public void setThreadPriority(int threadPriority)
public int getAcceptCount()
public void setAcceptCount(int acceptCount)
public boolean getTcpNoDelay()
public void setTcpNoDelay(boolean tcpNoDelay)
public int getConnectionLinger()
public void setConnectionLinger(int connectionLinger)
public int getKeepAliveTimeout()
getConnectionTimeout()
.public void setKeepAliveTimeout(int keepAliveTimeout)
public java.net.InetAddress getAddress()
public void setAddress(java.net.InetAddress ia)
public int getPort()
public void setPort(int port)
public int getLocalPort()
public int getConnectionTimeout()
public void setConnectionTimeout(int timeout)
public long getConnectionCount()
public void setAcceptorThreadCount(int threadCount)
public int getAcceptorThreadCount()
public void setAcceptorThreadPriority(int threadPriority)
public int getAcceptorThreadPriority()
public int getNameIndex()
public java.lang.String getName()
public void addWaitingProcessor(Processor processor)
public void removeWaitingProcessor(Processor processor)
protected AbstractEndpoint<S,?> getEndpoint()
protected AbstractEndpoint.Handler<S> getHandler()
protected void setHandler(AbstractEndpoint.Handler<S> handler)
protected abstract Log getLog()
protected abstract java.lang.String getNamePrefix()
protected abstract java.lang.String getProtocolName()
protected abstract UpgradeProtocol getNegotiatedProtocol(java.lang.String name)
name
- The name of the requested negotiated protocol.UpgradeProtocol.getAlpnName()
matches
the requested protocolprotected abstract UpgradeProtocol getUpgradeProtocol(java.lang.String name)
name
- The name of the requested negotiated protocol.UpgradeProtocol.getAlpnName()
matches
the requested protocolprotected abstract Processor createProcessor()
protected abstract Processor createUpgradeProcessor(SocketWrapperBase<?> socket, UpgradeToken upgradeToken)
public javax.management.ObjectName getObjectName()
public java.lang.String getDomain()
public javax.management.ObjectName preRegister(javax.management.MBeanServer server, javax.management.ObjectName name) throws java.lang.Exception
preRegister
in interface javax.management.MBeanRegistration
java.lang.Exception
public void postRegister(java.lang.Boolean registrationDone)
postRegister
in interface javax.management.MBeanRegistration
public void preDeregister() throws java.lang.Exception
preDeregister
in interface javax.management.MBeanRegistration
java.lang.Exception
public void postDeregister()
postDeregister
in interface javax.management.MBeanRegistration
public void init() throws java.lang.Exception
ProtocolHandler
init
in interface ProtocolHandler
java.lang.Exception
- If the protocol handler fails to initialisepublic void start() throws java.lang.Exception
ProtocolHandler
start
in interface ProtocolHandler
java.lang.Exception
- If the protocol handler fails to startpublic void pause() throws java.lang.Exception
ProtocolHandler
pause
in interface ProtocolHandler
java.lang.Exception
- If the protocol handler fails to pausepublic boolean isPaused()
public void resume() throws java.lang.Exception
ProtocolHandler
resume
in interface ProtocolHandler
java.lang.Exception
- If the protocol handler fails to resumepublic void stop() throws java.lang.Exception
ProtocolHandler
stop
in interface ProtocolHandler
java.lang.Exception
- If the protocol handler fails to stoppublic void destroy() throws java.lang.Exception
ProtocolHandler
destroy
in interface ProtocolHandler
java.lang.Exception
- If the protocol handler fails to destroyCopyright © 2000-2022 Apache Software Foundation. All Rights Reserved.