Apache Tomcat 7.0.28

org.apache.coyote
Class AbstractProtocol

java.lang.Object
  extended by org.apache.coyote.AbstractProtocol
All Implemented Interfaces:
MBeanRegistration, ProtocolHandler
Direct Known Subclasses:
AbstractAjpProtocol, AbstractHttp11Protocol

public abstract class AbstractProtocol
extends Object
implements ProtocolHandler, MBeanRegistration


Nested Class Summary
protected static class AbstractProtocol.AbstractConnectionHandler<S,P extends Processor<S>>
           
protected static class AbstractProtocol.RecycledProcessors<P extends Processor<S>,S>
           
 
Field Summary
protected  Adapter adapter
          The adapter provides the link between the ProtocolHandler and the connector.
protected  String clientCertProvider
          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.
protected  String domain
           
protected  AbstractEndpoint endpoint
          Endpoint that provides low-level network I/O - must be matched to the ProtocolHandler implementation (ProtocolHandler using BIO, requires BIO Endpoint etc.).
protected  MBeanServer mserver
           
protected  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  ObjectName rgOname
          Name of MBean for the Global Request Processor.
protected static StringManager sm
          The string manager for this package.
protected  ObjectName tpOname
          Name of MBean for the ThreadPool.
 
Constructor Summary
AbstractProtocol()
           
 
Method Summary
 void destroy()
          Destroy the protocol (optional).
 Adapter getAdapter()
           
 InetAddress getAddress()
           
 int getBacklog()
           
 String getClientCertProvider()
           
 int getConnectionTimeout()
           
 String getDomain()
           
 Executor getExecutor()
          The executor, provide access to the underlying thread pool.
protected abstract  AbstractEndpoint.Handler getHandler()
          Obtain the handler associated with the underlying Endpoint
 int getKeepAliveTimeout()
           
 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()
           
 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  String getNamePrefix()
          Obtain the prefix to be used when construction a name for this protocol handler.
 ObjectName getObjectName()
           
 int getPort()
           
 int getProcessorCache()
           
 String getProperty(String name)
          Generic property getter used by the digester.
protected abstract  String getProtocolName()
          Obtain the name of the protocol, (Http, Ajp, etc.).
 int getSoLinger()
           
 int getSoTimeout()
           
 boolean getTcpNoDelay()
           
 int getThreadPriority()
           
 void init()
          Initialise the protocol.
 void pause()
          Pause the protocol (optional).
 void postDeregister()
           
 void postRegister(Boolean registrationDone)
           
 void preDeregister()
           
 ObjectName preRegister(MBeanServer server, ObjectName name)
           
 void resume()
          Resume the protocol (optional).
 void setAdapter(Adapter adapter)
          The adapter, used to call the connector.
 void setAddress(InetAddress ia)
           
 void setBacklog(int backlog)
           
 void setClientCertProvider(String s)
           
 void setConnectionTimeout(int timeout)
           
 void setExecutor(Executor executor)
           
 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(String name, String value)
          Generic property setter used by the digester.
 void setSoLinger(int soLinger)
           
 void setSoTimeout(int timeout)
           
 void setTcpNoDelay(boolean tcpNoDelay)
           
 void setThreadPriority(int threadPriority)
           
 void start()
          Start the protocol.
 void stop()
          Stop the protocol.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sm

protected static final StringManager sm
The string manager for this package.


rgOname

protected ObjectName rgOname
Name of MBean for the Global Request Processor.


tpOname

protected ObjectName tpOname
Name of MBean for the ThreadPool.


endpoint

protected AbstractEndpoint endpoint
Endpoint that provides low-level network I/O - must be matched to the ProtocolHandler implementation (ProtocolHandler using BIO, requires BIO Endpoint etc.).


adapter

protected Adapter adapter
The adapter provides the link between the ProtocolHandler and the connector.


processorCache

protected int processorCache
The maximum number of idle processors that will be retained in the cache and re-used with a subsequent request. The default is 200. A value of -1 means unlimited. In the unlimited case, the theoretical maximum number of cached Processor objects is getMaxConnections() although it will usually be closer to getMaxThreads().


clientCertProvider

protected String clientCertProvider
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. 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.


domain

protected String domain

oname

protected ObjectName oname

mserver

protected MBeanServer mserver
Constructor Detail

AbstractProtocol

public AbstractProtocol()
Method Detail

setProperty

public boolean setProperty(String name,
                           String value)
Generic property setter used by the digester. Other code should not need to use this. The digester will only use this method if it can't find a more specific setter. That means the property belongs to the Endpoint, the ServerSocketFactory or some other lower level component. This method ensures that it is visible to both.


getProperty

public String getProperty(String name)
Generic property getter used by the digester. Other code should not need to use this.


setAdapter

public void setAdapter(Adapter adapter)
Description copied from interface: ProtocolHandler
The adapter, used to call the connector.

Specified by:
setAdapter in interface ProtocolHandler

getAdapter

public Adapter getAdapter()
Specified by:
getAdapter in interface ProtocolHandler

getProcessorCache

public int getProcessorCache()

setProcessorCache

public void setProcessorCache(int processorCache)

getClientCertProvider

public String getClientCertProvider()

setClientCertProvider

public void setClientCertProvider(String s)

getExecutor

public Executor getExecutor()
Description copied from interface: ProtocolHandler
The executor, provide access to the underlying thread pool.

Specified by:
getExecutor in interface ProtocolHandler

setExecutor

public void setExecutor(Executor executor)

getMaxThreads

public int getMaxThreads()

setMaxThreads

public void setMaxThreads(int maxThreads)

getMaxConnections

public int getMaxConnections()

setMaxConnections

public void setMaxConnections(int maxConnections)

getMinSpareThreads

public int getMinSpareThreads()

setMinSpareThreads

public void setMinSpareThreads(int minSpareThreads)

getThreadPriority

public int getThreadPriority()

setThreadPriority

public void setThreadPriority(int threadPriority)

getBacklog

public int getBacklog()

setBacklog

public void setBacklog(int backlog)

getTcpNoDelay

public boolean getTcpNoDelay()

setTcpNoDelay

public void setTcpNoDelay(boolean tcpNoDelay)

getSoLinger

public int getSoLinger()

setSoLinger

public void setSoLinger(int soLinger)

getKeepAliveTimeout

public int getKeepAliveTimeout()

setKeepAliveTimeout

public void setKeepAliveTimeout(int keepAliveTimeout)

getAddress

public InetAddress getAddress()

setAddress

public void setAddress(InetAddress ia)

getPort

public int getPort()

setPort

public void setPort(int port)

getLocalPort

public int getLocalPort()

getConnectionTimeout

public int getConnectionTimeout()

setConnectionTimeout

public void setConnectionTimeout(int timeout)

getSoTimeout

public int getSoTimeout()

setSoTimeout

public void setSoTimeout(int timeout)

getMaxHeaderCount

public int getMaxHeaderCount()

setMaxHeaderCount

public void setMaxHeaderCount(int maxHeaderCount)

getNameIndex

public int getNameIndex()

getName

public String getName()
The name will be prefix-address-port if address is non-null and prefix-port if the address is null. The name will be appropriately quoted so it can be used directly in an ObjectName.


getLog

protected abstract Log getLog()
Concrete implementations need to provide access to their logger to be used by the abstract classes.


getNamePrefix

protected abstract String getNamePrefix()
Obtain the prefix to be used when construction a name for this protocol handler. The name will be prefix-address-port.


getProtocolName

protected abstract String getProtocolName()
Obtain the name of the protocol, (Http, Ajp, etc.). Used with JMX.


getHandler

protected abstract AbstractEndpoint.Handler getHandler()
Obtain the handler associated with the underlying Endpoint


getObjectName

public ObjectName getObjectName()

getDomain

public String getDomain()

preRegister

public ObjectName preRegister(MBeanServer server,
                              ObjectName name)
                       throws Exception
Specified by:
preRegister in interface MBeanRegistration
Throws:
Exception

postRegister

public void postRegister(Boolean registrationDone)
Specified by:
postRegister in interface MBeanRegistration

preDeregister

public void preDeregister()
                   throws Exception
Specified by:
preDeregister in interface MBeanRegistration
Throws:
Exception

postDeregister

public void postDeregister()
Specified by:
postDeregister in interface MBeanRegistration

init

public void init()
          throws Exception
Description copied from interface: ProtocolHandler
Initialise the protocol.

Specified by:
init in interface ProtocolHandler
Throws:
Exception

start

public void start()
           throws Exception
Description copied from interface: ProtocolHandler
Start the protocol.

Specified by:
start in interface ProtocolHandler
Throws:
Exception

pause

public void pause()
           throws Exception
Description copied from interface: ProtocolHandler
Pause the protocol (optional).

Specified by:
pause in interface ProtocolHandler
Throws:
Exception

resume

public void resume()
            throws Exception
Description copied from interface: ProtocolHandler
Resume the protocol (optional).

Specified by:
resume in interface ProtocolHandler
Throws:
Exception

stop

public void stop()
          throws Exception
Description copied from interface: ProtocolHandler
Stop the protocol.

Specified by:
stop in interface ProtocolHandler
Throws:
Exception

destroy

public void destroy()
Description copied from interface: ProtocolHandler
Destroy the protocol (optional).

Specified by:
destroy in interface ProtocolHandler

Apache Tomcat 7.0.28

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.