org.apache.coyote.http11
Class Http11AprProtocol

java.lang.Object
  extended by org.apache.coyote.http11.Http11AprProtocol
All Implemented Interfaces:
javax.management.MBeanRegistration, ProtocolHandler

public class Http11AprProtocol
extends java.lang.Object
implements ProtocolHandler, javax.management.MBeanRegistration

Abstract the protocol implementation, including threading, etc. Processor is single threaded and specific to stream-based protocols, will not fit Jk protocols like JNI.

Author:
Remy Maucherat, Costin Manolache

Field Summary
protected  Adapter adapter
          The adapter, used to call the connector.
protected  java.util.HashMap<java.lang.String,java.lang.Object> attributes
           
protected  java.lang.String compressableMimeTypes
           
protected  java.lang.String compression
          Integrated compression support.
protected  int compressionMinSize
           
protected  boolean disableUploadTimeout
          If true, the regular socket timeout will be used for the full duration of the connection.
protected  java.lang.String domain
           
protected  AprEndpoint endpoint
           
protected static org.jboss.logging.Logger log
           
protected  int maxHttpHeaderSize
          Maximum size of the HTTP message header.
protected  int maxKeepAliveRequests
          Maximum number of requests which can be performed over a keepalive connection.
protected  int maxSavePostSize
          Maximum size of the post which will be saved when processing certain requests, such as a POST.
protected  javax.management.MBeanServer mserver
           
protected  java.lang.String noCompressionUserAgents
           
protected  javax.management.ObjectName oname
           
protected  int processorCache
          Processor cache.
protected  java.lang.String protocol
           
protected  java.lang.String restrictedUserAgents
          User agents regular expressions which should be restricted to HTTP/1.0 support.
protected  boolean secure
          This field indicates if the protocol is secure from the perspective of the client (= https is used).
protected  java.lang.String server
          Server header.
protected static StringManager sm
          The string manager for this package.
protected  int socketBuffer
           
protected  int timeout
          This timeout represents the socket timeout which will be used while the adapter execution is in progress, unless disableUploadTimeout is set to true.
 
Constructor Summary
Http11AprProtocol()
           
 
Method Summary
 void destroy()
           
 Adapter getAdapter()
           
 java.net.InetAddress getAddress()
           
 java.lang.Object getAttribute(java.lang.String key)
           
 java.util.Iterator getAttributeNames()
           
 int getBacklog()
           
 java.lang.String getCompressableMimeType()
           
 java.lang.String getCompression()
           
 int getCompressionMinSize()
           
 boolean getDeferAccept()
           
 boolean getDisableUploadTimeout()
           
 java.lang.String getDomain()
           
 java.util.concurrent.Executor getExecutor()
           
 boolean getKeepAlive()
          Return the Keep-Alive policy for the connection.
 int getKeepAliveTimeout()
          The number of seconds Tomcat will wait for a subsequent request before closing the connection.
 int getMaxHttpHeaderSize()
           
 int getMaxKeepAliveRequests()
           
 int getMaxSavePostSize()
           
 int getMaxThreads()
           
 java.lang.String getName()
           
 java.lang.String getNoCompressionUserAgents()
           
 javax.management.ObjectName getObjectName()
           
 int getPollerSize()
           
 int getPollTime()
           
 int getPort()
           
 int getProcessorCache()
           
 java.lang.String getProtocol()
           
 java.lang.String getRestrictedUserAgents()
           
 boolean getReverseConnection()
           
 boolean getSecure()
           
 int getSendfileSize()
           
 java.lang.String getServer()
           
 int getSocketBuffer()
           
 int getSoLinger()
           
 int getSoTimeout()
           
 java.lang.String getSSLCACertificateFile()
          SSL CA certificate file.
 java.lang.String getSSLCACertificatePath()
          SSL CA certificate path.
 java.lang.String getSSLCARevocationFile()
          SSL CA revocation file.
 java.lang.String getSSLCARevocationPath()
          SSL CA revocation path.
 java.lang.String getSSLCertificateChainFile()
          SSL certificate chain file.
 java.lang.String getSSLCertificateFile()
          SSL certificate file.
 java.lang.String getSSLCertificateKeyFile()
          SSL certificate key file.
 java.lang.String getSSLCipherSuite()
          SSL cipher suite.
 java.lang.String getSSLPassword()
          SSL password (if a cert is encrypted, and no password has been provided, a callback will ask for a password).
 java.lang.String getSSLProtocol()
          SSL protocol.
 java.lang.String getSSLVerifyClient()
          SSL verify client.
 int getSSLVerifyDepth()
          SSL verify depth.
 boolean getTcpNoDelay()
           
 int getThreadPriority()
           
 int getTimeout()
           
 boolean getUseSendfile()
           
 boolean hasIoEvents()
           
 void init()
          Start the protocol
 boolean isSSLEnabled()
          SSL engine.
 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 resume()
          Resume the protocol (optional).
 void setAdapter(Adapter adapter)
          The adapter, used to call the connector.
 void setAddress(java.net.InetAddress ia)
           
 void setAttribute(java.lang.String name, java.lang.Object value)
          Pass config info
 void setBacklog(int backlog)
           
 void setCompressableMimeType(java.lang.String valueS)
           
 void setCompression(java.lang.String valueS)
           
 void setCompressionMinSize(int valueI)
           
 void setDeferAccept(boolean deferAccept)
           
 void setDisableUploadTimeout(boolean isDisabled)
           
 void setExecutor(java.util.concurrent.Executor executor)
           
 void setKeepAlive(boolean keepAlive)
          Set the keep-alive policy for this connection.
 void setKeepAliveTimeout(int timeout)
           
 void setMaxHttpHeaderSize(int valueI)
           
 void setMaxKeepAliveRequests(int mkar)
           
 void setMaxSavePostSize(int valueI)
           
 void setMaxThreads(int maxThreads)
           
 void setNoCompressionUserAgents(java.lang.String valueS)
           
 void setPollerSize(int pollerSize)
           
 void setPollTime(int pollTime)
           
 void setPort(int port)
           
 void setProcessorCache(int processorCache)
           
 void setProtocol(java.lang.String protocol)
           
 void setRestrictedUserAgents(java.lang.String valueS)
           
 void setReverseConnection(boolean reverseConnection)
           
 void setSecure(boolean b)
           
 void setSendfileSize(int sendfileSize)
           
 void setServer(java.lang.String server)
           
 void setSocketBuffer(int socketBuffer)
           
 void setSoLinger(int soLinger)
           
 void setSoTimeout(int soTimeout)
           
 void setSSLCACertificateFile(java.lang.String SSLCACertificateFile)
           
 void setSSLCACertificatePath(java.lang.String SSLCACertificatePath)
           
 void setSSLCARevocationFile(java.lang.String SSLCARevocationFile)
           
 void setSSLCARevocationPath(java.lang.String SSLCARevocationPath)
           
 void setSSLCertificateChainFile(java.lang.String SSLCertificateChainFile)
           
 void setSSLCertificateFile(java.lang.String SSLCertificateFile)
           
 void setSSLCertificateKeyFile(java.lang.String SSLCertificateKeyFile)
           
 void setSSLCipherSuite(java.lang.String SSLCipherSuite)
           
 void setSSLEnabled(boolean SSLEnabled)
           
 void setSSLPassword(java.lang.String SSLPassword)
           
 void setSSLProtocol(java.lang.String SSLProtocol)
           
 void setSSLVerifyClient(java.lang.String SSLVerifyClient)
           
 void setSSLVerifyDepth(int SSLVerifyDepth)
           
 void setTcpNoDelay(boolean tcpNoDelay)
           
 void setThreadPriority(int threadPriority)
           
 void setTimeout(int timeout)
           
 void setUseSendfile(boolean useSendfile)
           
 void start()
          Start the protocol.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static org.jboss.logging.Logger log

sm

protected static StringManager sm
The string manager for this package.


adapter

protected Adapter adapter
The adapter, used to call the connector.


endpoint

protected AprEndpoint endpoint

attributes

protected java.util.HashMap<java.lang.String,java.lang.Object> attributes

processorCache

protected int processorCache
Processor cache.


socketBuffer

protected int socketBuffer

maxSavePostSize

protected int maxSavePostSize
Maximum size of the post which will be saved when processing certain requests, such as a POST.


maxHttpHeaderSize

protected int maxHttpHeaderSize
Maximum size of the HTTP message header.


disableUploadTimeout

protected boolean disableUploadTimeout
If true, the regular socket timeout will be used for the full duration of the connection.


compression

protected java.lang.String compression
Integrated compression support.


noCompressionUserAgents

protected java.lang.String noCompressionUserAgents

compressableMimeTypes

protected java.lang.String compressableMimeTypes

compressionMinSize

protected int compressionMinSize

restrictedUserAgents

protected java.lang.String restrictedUserAgents
User agents regular expressions which should be restricted to HTTP/1.0 support.


protocol

protected java.lang.String protocol

maxKeepAliveRequests

protected int maxKeepAliveRequests
Maximum number of requests which can be performed over a keepalive connection. The default is the same as for Apache HTTP Server.


server

protected java.lang.String server
Server header.


timeout

protected int timeout
This timeout represents the socket timeout which will be used while the adapter execution is in progress, unless disableUploadTimeout is set to true. The default is the same as for Apache HTTP Server (300 000 milliseconds).


secure

protected boolean secure
This field indicates if the protocol is secure from the perspective of the client (= https is used).


domain

protected java.lang.String domain

oname

protected javax.management.ObjectName oname

mserver

protected javax.management.MBeanServer mserver
Constructor Detail

Http11AprProtocol

public Http11AprProtocol()
Method Detail

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Pass config info

Specified by:
setAttribute in interface ProtocolHandler

getAttribute

public java.lang.Object getAttribute(java.lang.String key)
Specified by:
getAttribute in interface ProtocolHandler

getAttributeNames

public java.util.Iterator getAttributeNames()
Specified by:
getAttributeNames in interface ProtocolHandler

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

hasIoEvents

public boolean hasIoEvents()
Specified by:
hasIoEvents in interface ProtocolHandler

init

public void init()
          throws java.lang.Exception
Start the protocol

Specified by:
init in interface ProtocolHandler
Throws:
java.lang.Exception

start

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

Specified by:
start in interface ProtocolHandler
Throws:
java.lang.Exception

pause

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

Specified by:
pause in interface ProtocolHandler
Throws:
java.lang.Exception

resume

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

Specified by:
resume in interface ProtocolHandler
Throws:
java.lang.Exception

destroy

public void destroy()
             throws java.lang.Exception
Specified by:
destroy in interface ProtocolHandler
Throws:
java.lang.Exception

getName

public java.lang.String getName()

getProcessorCache

public int getProcessorCache()

setProcessorCache

public void setProcessorCache(int processorCache)

getExecutor

public java.util.concurrent.Executor getExecutor()

setExecutor

public void setExecutor(java.util.concurrent.Executor executor)

getMaxThreads

public int getMaxThreads()

setMaxThreads

public void setMaxThreads(int maxThreads)

getThreadPriority

public int getThreadPriority()

setThreadPriority

public void setThreadPriority(int threadPriority)

getBacklog

public int getBacklog()

setBacklog

public void setBacklog(int backlog)

getPort

public int getPort()

setPort

public void setPort(int port)

getAddress

public java.net.InetAddress getAddress()

setAddress

public void setAddress(java.net.InetAddress ia)

getTcpNoDelay

public boolean getTcpNoDelay()

setTcpNoDelay

public void setTcpNoDelay(boolean tcpNoDelay)

getSoLinger

public int getSoLinger()

setSoLinger

public void setSoLinger(int soLinger)

getSoTimeout

public int getSoTimeout()

setSoTimeout

public void setSoTimeout(int soTimeout)

getReverseConnection

public boolean getReverseConnection()

setReverseConnection

public void setReverseConnection(boolean reverseConnection)

getDeferAccept

public boolean getDeferAccept()

setDeferAccept

public void setDeferAccept(boolean deferAccept)

getKeepAliveTimeout

public int getKeepAliveTimeout()
The number of seconds Tomcat will wait for a subsequent request before closing the connection.


setKeepAliveTimeout

public void setKeepAliveTimeout(int timeout)

getUseSendfile

public boolean getUseSendfile()

setUseSendfile

public void setUseSendfile(boolean useSendfile)

getPollTime

public int getPollTime()

setPollTime

public void setPollTime(int pollTime)

setPollerSize

public void setPollerSize(int pollerSize)

getPollerSize

public int getPollerSize()

getSendfileSize

public int getSendfileSize()

setSendfileSize

public void setSendfileSize(int sendfileSize)

getSocketBuffer

public int getSocketBuffer()

setSocketBuffer

public void setSocketBuffer(int socketBuffer)

getMaxSavePostSize

public int getMaxSavePostSize()

setMaxSavePostSize

public void setMaxSavePostSize(int valueI)

getMaxHttpHeaderSize

public int getMaxHttpHeaderSize()

setMaxHttpHeaderSize

public void setMaxHttpHeaderSize(int valueI)

getDisableUploadTimeout

public boolean getDisableUploadTimeout()

setDisableUploadTimeout

public void setDisableUploadTimeout(boolean isDisabled)

getCompression

public java.lang.String getCompression()

setCompression

public void setCompression(java.lang.String valueS)

getNoCompressionUserAgents

public java.lang.String getNoCompressionUserAgents()

setNoCompressionUserAgents

public void setNoCompressionUserAgents(java.lang.String valueS)

getCompressableMimeType

public java.lang.String getCompressableMimeType()

setCompressableMimeType

public void setCompressableMimeType(java.lang.String valueS)

getCompressionMinSize

public int getCompressionMinSize()

setCompressionMinSize

public void setCompressionMinSize(int valueI)

getRestrictedUserAgents

public java.lang.String getRestrictedUserAgents()

setRestrictedUserAgents

public void setRestrictedUserAgents(java.lang.String valueS)

getProtocol

public java.lang.String getProtocol()

setProtocol

public void setProtocol(java.lang.String protocol)

getMaxKeepAliveRequests

public int getMaxKeepAliveRequests()

setMaxKeepAliveRequests

public void setMaxKeepAliveRequests(int mkar)

getKeepAlive

public boolean getKeepAlive()
Return the Keep-Alive policy for the connection.


setKeepAlive

public void setKeepAlive(boolean keepAlive)
Set the keep-alive policy for this connection.


setServer

public void setServer(java.lang.String server)

getServer

public java.lang.String getServer()

getTimeout

public int getTimeout()

setTimeout

public void setTimeout(int timeout)

getSecure

public boolean getSecure()

setSecure

public void setSecure(boolean b)

isSSLEnabled

public boolean isSSLEnabled()
SSL engine.


setSSLEnabled

public void setSSLEnabled(boolean SSLEnabled)

getSSLProtocol

public java.lang.String getSSLProtocol()
SSL protocol.


setSSLProtocol

public void setSSLProtocol(java.lang.String SSLProtocol)

getSSLPassword

public java.lang.String getSSLPassword()
SSL password (if a cert is encrypted, and no password has been provided, a callback will ask for a password).


setSSLPassword

public void setSSLPassword(java.lang.String SSLPassword)

getSSLCipherSuite

public java.lang.String getSSLCipherSuite()
SSL cipher suite.


setSSLCipherSuite

public void setSSLCipherSuite(java.lang.String SSLCipherSuite)

getSSLCertificateFile

public java.lang.String getSSLCertificateFile()
SSL certificate file.


setSSLCertificateFile

public void setSSLCertificateFile(java.lang.String SSLCertificateFile)

getSSLCertificateKeyFile

public java.lang.String getSSLCertificateKeyFile()
SSL certificate key file.


setSSLCertificateKeyFile

public void setSSLCertificateKeyFile(java.lang.String SSLCertificateKeyFile)

getSSLCertificateChainFile

public java.lang.String getSSLCertificateChainFile()
SSL certificate chain file.


setSSLCertificateChainFile

public void setSSLCertificateChainFile(java.lang.String SSLCertificateChainFile)

getSSLCACertificatePath

public java.lang.String getSSLCACertificatePath()
SSL CA certificate path.


setSSLCACertificatePath

public void setSSLCACertificatePath(java.lang.String SSLCACertificatePath)

getSSLCACertificateFile

public java.lang.String getSSLCACertificateFile()
SSL CA certificate file.


setSSLCACertificateFile

public void setSSLCACertificateFile(java.lang.String SSLCACertificateFile)

getSSLCARevocationPath

public java.lang.String getSSLCARevocationPath()
SSL CA revocation path.


setSSLCARevocationPath

public void setSSLCARevocationPath(java.lang.String SSLCARevocationPath)

getSSLCARevocationFile

public java.lang.String getSSLCARevocationFile()
SSL CA revocation file.


setSSLCARevocationFile

public void setSSLCARevocationFile(java.lang.String SSLCARevocationFile)

getSSLVerifyClient

public java.lang.String getSSLVerifyClient()
SSL verify client.


setSSLVerifyClient

public void setSSLVerifyClient(java.lang.String SSLVerifyClient)

getSSLVerifyDepth

public int getSSLVerifyDepth()
SSL verify depth.


setSSLVerifyDepth

public void setSSLVerifyDepth(int SSLVerifyDepth)

getObjectName

public javax.management.ObjectName getObjectName()

getDomain

public java.lang.String getDomain()

preRegister

public javax.management.ObjectName preRegister(javax.management.MBeanServer server,
                                               javax.management.ObjectName name)
                                        throws java.lang.Exception
Specified by:
preRegister in interface javax.management.MBeanRegistration
Throws:
java.lang.Exception

postRegister

public void postRegister(java.lang.Boolean registrationDone)
Specified by:
postRegister in interface javax.management.MBeanRegistration

preDeregister

public void preDeregister()
                   throws java.lang.Exception
Specified by:
preDeregister in interface javax.management.MBeanRegistration
Throws:
java.lang.Exception

postDeregister

public void postDeregister()
Specified by:
postDeregister in interface javax.management.MBeanRegistration


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