org.apache.coyote.tomcat4
Class CoyoteConnector

java.lang.Object
  extended byorg.apache.coyote.tomcat4.CoyoteConnector
All Implemented Interfaces:
Connector, Lifecycle, javax.management.MBeanRegistration

public final class CoyoteConnector
extends java.lang.Object
implements Connector, Lifecycle, javax.management.MBeanRegistration

Implementation of a Coyote connector for Tomcat 4.x.

Version:
$Revision: 1.34 $ $Date: 2004/02/24 08:54:29 $
Author:
Craig R. McClanahan, Remy Maucherat

Field Summary
protected  Container container
          The Container used for processing requests received by this Connector.
protected  java.lang.String domain
           
protected  LifecycleSupport lifecycle
          The lifecycle event support for this component.
protected  int maxSpareProcessors
          The maximum amount of spare processors.
protected  int minProcessors
          The minimum number of processors to start at initialization time.
protected  javax.management.MBeanServer mserver
           
protected  javax.management.ObjectName oname
           
 
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, START_EVENT, STOP_EVENT
 
Constructor Summary
CoyoteConnector()
           
 
Method Summary
 void addLifecycleListener(LifecycleListener listener)
          Add a lifecycle event listener to this component.
 Request createRequest()
          Create (or allocate) and return a Request object suitable for specifying the contents of a Request to the responsible Container.
 Response createResponse()
          Create (or allocate) and return a Response object suitable for receiving the contents of a Response from the responsible Container.
 LifecycleListener[] findLifecycleListeners()
          Get the lifecycle listeners associated with this lifecycle.
 int getAcceptCount()
          Return the accept count for this Connector.
 java.lang.String getAddress()
          Return the bind IP address for this Connector.
 boolean getAllowTrace()
          True if the TRACE method is allowed.
 int getBufferSize()
          Return the input buffer size for this Connector.
 java.lang.String getCompression()
          Get the value of compression.
 int getConnectionLinger()
          Return the connection linger for this Connector.
 int getConnectionTimeout()
          Return the connection timeout for this Connector.
 int getConnectionUploadTimeout()
          Return the connection upload timeout for this Connector.
 Container getContainer()
          Return the Container used for processing requests received by this Connector.
 int getCurProcessors()
          Return the current number of processors that have been created.
 int getDebug()
          Return the debugging detail level for this component.
 boolean getDisableUploadTimeout()
          Return the flag that specifies upload time-out behavior.
 java.lang.String getDomain()
           
 boolean getEnableLookups()
          Return the "enable DNS lookups" flag.
 ServerSocketFactory getFactory()
          Return the server socket factory used by this Container.
 java.lang.String getInfo()
          Return descriptive information about this Connector implementation.
 int getMaxKeepAliveRequests()
          Return the maximum number of Keep-Alive requests to honor per connection.
 int getMaxProcessors()
          Return the maximum number of processors allowed, or <0 for unlimited.
 int getMaxSpareProcessors()
          Return the maximum number of spare processors allowed.
 int getMinProcessors()
          Return the minimum number of processors to start at initialization.
 javax.management.ObjectName getObjectName()
           
 int getPort()
          Return the port number on which we listen for requests.
 java.lang.String getProtocolHandlerClassName()
          Return the class name of the Coyote protocol handler in use.
 java.lang.String getProxyName()
          Return the proxy server name for this Connector.
 int getProxyPort()
          Return the proxy server port for this Connector.
 int getRedirectPort()
          Return the port number to which a request should be redirected if it comes in on a non-SSL port and is subject to a security constraint with a transport guarantee that requires SSL.
 java.lang.String getScheme()
          Return the scheme that will be assigned to requests received through this connector.
 boolean getSecure()
          Return the secure connection flag that will be assigned to requests received through this connector.
 int getServerSocketTimeout()
          Return the server socket timeout for this Connector.
 Service getService()
          Return the Service with which we are associated (if any).
 boolean getTcpNoDelay()
          Return the TCP no delay flag value.
 boolean getTomcatAuthentication()
           
 java.lang.String getURIEncoding()
          Return the character encoding to be used for the URI.
 boolean getUseBodyEncodingForURI()
          Return the true if the entity body encoding should be used for the URI.
 boolean getUseURIValidationHack()
          Return the value of the Uri validation flag.
 void initialize()
          Initialize this connector (create ServerSocket here!)
 boolean isAvailable()
          Is this connector available for processing requests?
 void postDeregister()
           
 void postRegister(java.lang.Boolean registrationDone)
           
 void preDeregister()
           
 javax.management.ObjectName preRegister(javax.management.MBeanServer server, javax.management.ObjectName name)
           
 void removeLifecycleListener(LifecycleListener listener)
          Remove a lifecycle event listener from this component.
 void setAcceptCount(int count)
          Set the accept count for this Connector.
 void setAddress(java.lang.String address)
          Set the bind IP address for this Connector.
 void setAllowTrace(boolean allowTrace)
          Set the allowTrace flag, to disable or enable the TRACE HTTP method.
 void setBufferSize(int bufferSize)
          Set the input buffer size for this Connector.
 void setCompression(java.lang.String compression)
          Set the value of compression.
 void setConnectionLinger(int connectionLinger)
          Set the connection linger for this Connector.
 void setConnectionTimeout(int connectionTimeout)
          Set the connection timeout for this Connector.
 void setConnectionUploadTimeout(int connectionUploadTimeout)
          Set the connection upload timeout for this Connector.
 void setContainer(Container container)
          Set the Container used for processing requests received by this Connector.
 void setDebug(int debug)
          Set the debugging detail level for this component.
 void setDisableUploadTimeout(boolean isDisabled)
          Set the flag to specify upload time-out behavior.
 void setEnableLookups(boolean enableLookups)
          Set the "enable DNS lookups" flag.
 void setFactory(ServerSocketFactory factory)
          Set the server socket factory used by this Container.
 void setMaxKeepAliveRequests(int mkar)
          Set the maximum number of Keep-Alive requests to honor per connection.
 void setMaxProcessors(int maxProcessors)
          Set the maximum number of processors allowed, or <0 for unlimited.
 void setMaxSpareProcessors(int maxSpareProcessors)
          Set the maximum number of spare processors allowed.
 void setMinProcessors(int minProcessors)
          Set the minimum number of processors to start at initialization.
 void setPort(int port)
          Set the port number on which we listen for requests.
 void setProtocolHandlerClassName(java.lang.String protocolHandlerClassName)
          Set the class name of the Coyote protocol handler which will be used by the connector.
 void setProxyName(java.lang.String proxyName)
          Set the proxy server name for this Connector.
 void setProxyPort(int proxyPort)
          Set the proxy server port for this Connector.
 void setRedirectPort(int redirectPort)
          Set the redirect port number.
 void setScheme(java.lang.String scheme)
          Set the scheme that will be assigned to requests received through this connector.
 void setSecure(boolean secure)
          Set the secure connection flag that will be assigned to requests received through this connector.
 void setServerSocketTimeout(int serverSocketTimeout)
          Set the server socket timeout for this Connector.
 void setService(Service service)
          Set the Service with which we are associated (if any).
 void setTcpNoDelay(boolean tcpNoDelay)
          Set the TCP no delay flag which will be set on the socket after accepting a connection.
 void setTomcatAuthentication(boolean tomcatAuthentication)
           
 void setURIEncoding(java.lang.String URIEncoding)
          Set the URI encoding to be used for the URI.
 void setUseBodyEncodingForURI(boolean useBodyEncodingForURI)
          Set if the entity body encoding should be used for the URI.
 void setUseURIValidationHack(boolean useURIValidationHack)
          Set the value of the Uri validation flag.
 void start()
          Begin processing requests via this Connector.
 void stop()
          Terminate processing requests via this Connector.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.catalina.Connector
pause, resume
 

Field Detail

container

protected Container container
The Container used for processing requests received by this Connector.


lifecycle

protected LifecycleSupport lifecycle
The lifecycle event support for this component.


minProcessors

protected int minProcessors
The minimum number of processors to start at initialization time.


maxSpareProcessors

protected int maxSpareProcessors
The maximum amount of spare processors.


domain

protected java.lang.String domain

oname

protected javax.management.ObjectName oname

mserver

protected javax.management.MBeanServer mserver
Constructor Detail

CoyoteConnector

public CoyoteConnector()
Method Detail

getService

public Service getService()
Return the Service with which we are associated (if any).

Specified by:
getService in interface Connector

setService

public void setService(Service service)
Set the Service with which we are associated (if any).

Specified by:
setService in interface Connector
Parameters:
service - The service that owns this Engine

getConnectionLinger

public int getConnectionLinger()
Return the connection linger for this Connector.


setConnectionLinger

public void setConnectionLinger(int connectionLinger)
Set the connection linger for this Connector.


getConnectionTimeout

public int getConnectionTimeout()
Return the connection timeout for this Connector.


setConnectionTimeout

public void setConnectionTimeout(int connectionTimeout)
Set the connection timeout for this Connector.


getConnectionUploadTimeout

public int getConnectionUploadTimeout()
Return the connection upload timeout for this Connector.


setConnectionUploadTimeout

public void setConnectionUploadTimeout(int connectionUploadTimeout)
Set the connection upload timeout for this Connector.

Parameters:
connectionUploadTimeout - The new connection upload timeout

getServerSocketTimeout

public int getServerSocketTimeout()
Return the server socket timeout for this Connector.


setServerSocketTimeout

public void setServerSocketTimeout(int serverSocketTimeout)
Set the server socket timeout for this Connector.


getAcceptCount

public int getAcceptCount()
Return the accept count for this Connector.


setAcceptCount

public void setAcceptCount(int count)
Set the accept count for this Connector.

Parameters:
count - The new accept count

getAddress

public java.lang.String getAddress()
Return the bind IP address for this Connector.


setAddress

public void setAddress(java.lang.String address)
Set the bind IP address for this Connector.

Parameters:
address - The bind IP address

getAllowTrace

public boolean getAllowTrace()
True if the TRACE method is allowed. Default value is "false".


setAllowTrace

public void setAllowTrace(boolean allowTrace)
Set the allowTrace flag, to disable or enable the TRACE HTTP method.

Parameters:
allowTrace - The new allowTrace flag

isAvailable

public boolean isAvailable()
Is this connector available for processing requests?


getBufferSize

public int getBufferSize()
Return the input buffer size for this Connector.


setBufferSize

public void setBufferSize(int bufferSize)
Set the input buffer size for this Connector.

Parameters:
bufferSize - The new input buffer size.

getContainer

public Container getContainer()
Return the Container used for processing requests received by this Connector.

Specified by:
getContainer in interface Connector

setContainer

public void setContainer(Container container)
Set the Container used for processing requests received by this Connector.

Specified by:
setContainer in interface Connector
Parameters:
container - The new Container to use

getCompression

public java.lang.String getCompression()
Get the value of compression.


setCompression

public void setCompression(java.lang.String compression)
Set the value of compression.

Parameters:
compression - The new compression value, which can be "on", "off" or "force"

getCurProcessors

public int getCurProcessors()
Return the current number of processors that have been created.


getDebug

public int getDebug()
Return the debugging detail level for this component.


setDebug

public void setDebug(int debug)
Set the debugging detail level for this component.

Parameters:
debug - The new debugging detail level

getEnableLookups

public boolean getEnableLookups()
Return the "enable DNS lookups" flag.

Specified by:
getEnableLookups in interface Connector

setEnableLookups

public void setEnableLookups(boolean enableLookups)
Set the "enable DNS lookups" flag.

Specified by:
setEnableLookups in interface Connector
Parameters:
enableLookups - The new "enable DNS lookups" flag value

getFactory

public ServerSocketFactory getFactory()
Return the server socket factory used by this Container.

Specified by:
getFactory in interface Connector

setFactory

public void setFactory(ServerSocketFactory factory)
Set the server socket factory used by this Container.

Specified by:
setFactory in interface Connector
Parameters:
factory - The new server socket factory

getInfo

public java.lang.String getInfo()
Return descriptive information about this Connector implementation.

Specified by:
getInfo in interface Connector

getMinProcessors

public int getMinProcessors()
Return the minimum number of processors to start at initialization.


setMinProcessors

public void setMinProcessors(int minProcessors)
Set the minimum number of processors to start at initialization.

Parameters:
minProcessors - The new minimum processors

getMaxProcessors

public int getMaxProcessors()
Return the maximum number of processors allowed, or <0 for unlimited.


setMaxProcessors

public void setMaxProcessors(int maxProcessors)
Set the maximum number of processors allowed, or <0 for unlimited.

Parameters:
maxProcessors - The new maximum processors

getMaxSpareProcessors

public int getMaxSpareProcessors()
Return the maximum number of spare processors allowed.


setMaxSpareProcessors

public void setMaxSpareProcessors(int maxSpareProcessors)
Set the maximum number of spare processors allowed.

Parameters:
maxSpareProcessors - The new maximum of spare processors

getPort

public int getPort()
Return the port number on which we listen for requests.


setPort

public void setPort(int port)
Set the port number on which we listen for requests.

Parameters:
port - The new port number

getProtocolHandlerClassName

public java.lang.String getProtocolHandlerClassName()
Return the class name of the Coyote protocol handler in use.


setProtocolHandlerClassName

public void setProtocolHandlerClassName(java.lang.String protocolHandlerClassName)
Set the class name of the Coyote protocol handler which will be used by the connector.

Parameters:
protocolHandlerClassName - The new class name

getProxyName

public java.lang.String getProxyName()
Return the proxy server name for this Connector.


setProxyName

public void setProxyName(java.lang.String proxyName)
Set the proxy server name for this Connector.

Parameters:
proxyName - The new proxy server name

getProxyPort

public int getProxyPort()
Return the proxy server port for this Connector.


setProxyPort

public void setProxyPort(int proxyPort)
Set the proxy server port for this Connector.

Parameters:
proxyPort - The new proxy server port

getRedirectPort

public int getRedirectPort()
Return the port number to which a request should be redirected if it comes in on a non-SSL port and is subject to a security constraint with a transport guarantee that requires SSL.

Specified by:
getRedirectPort in interface Connector

setRedirectPort

public void setRedirectPort(int redirectPort)
Set the redirect port number.

Specified by:
setRedirectPort in interface Connector
Parameters:
redirectPort - The redirect port number (non-SSL to SSL)

getDisableUploadTimeout

public boolean getDisableUploadTimeout()
Return the flag that specifies upload time-out behavior.


setDisableUploadTimeout

public void setDisableUploadTimeout(boolean isDisabled)
Set the flag to specify upload time-out behavior.

Parameters:
isDisabled - If true, then the timeout parameter is ignored. If false, then the timeout parameter is used to control uploads.

getMaxKeepAliveRequests

public int getMaxKeepAliveRequests()
Return the maximum number of Keep-Alive requests to honor per connection.


setMaxKeepAliveRequests

public void setMaxKeepAliveRequests(int mkar)
Set the maximum number of Keep-Alive requests to honor per connection.


getScheme

public java.lang.String getScheme()
Return the scheme that will be assigned to requests received through this connector. Default value is "http".

Specified by:
getScheme in interface Connector

setScheme

public void setScheme(java.lang.String scheme)
Set the scheme that will be assigned to requests received through this connector.

Specified by:
setScheme in interface Connector
Parameters:
scheme - The new scheme

getSecure

public boolean getSecure()
Return the secure connection flag that will be assigned to requests received through this connector. Default value is "false".

Specified by:
getSecure in interface Connector

setSecure

public void setSecure(boolean secure)
Set the secure connection flag that will be assigned to requests received through this connector.

Specified by:
setSecure in interface Connector
Parameters:
secure - The new secure connection flag

getTomcatAuthentication

public boolean getTomcatAuthentication()

setTomcatAuthentication

public void setTomcatAuthentication(boolean tomcatAuthentication)

getTcpNoDelay

public boolean getTcpNoDelay()
Return the TCP no delay flag value.


setTcpNoDelay

public void setTcpNoDelay(boolean tcpNoDelay)
Set the TCP no delay flag which will be set on the socket after accepting a connection.

Parameters:
tcpNoDelay - The new TCP no delay flag

getURIEncoding

public java.lang.String getURIEncoding()
Return the character encoding to be used for the URI.


setURIEncoding

public void setURIEncoding(java.lang.String URIEncoding)
Set the URI encoding to be used for the URI.

Parameters:
URIEncoding - The new URI character encoding.

getUseBodyEncodingForURI

public boolean getUseBodyEncodingForURI()
Return the true if the entity body encoding should be used for the URI.


setUseBodyEncodingForURI

public void setUseBodyEncodingForURI(boolean useBodyEncodingForURI)
Set if the entity body encoding should be used for the URI.

Parameters:
useBodyEncodingForURI - The new value for the flag.

getUseURIValidationHack

public boolean getUseURIValidationHack()
Return the value of the Uri validation flag.


setUseURIValidationHack

public void setUseURIValidationHack(boolean useURIValidationHack)
Set the value of the Uri validation flag.

Parameters:
useURIValidationHack - The new flag value

createRequest

public Request createRequest()
Create (or allocate) and return a Request object suitable for specifying the contents of a Request to the responsible Container.

Specified by:
createRequest in interface Connector

createResponse

public Response createResponse()
Create (or allocate) and return a Response object suitable for receiving the contents of a Response from the responsible Container.

Specified by:
createResponse in interface Connector

addLifecycleListener

public void addLifecycleListener(LifecycleListener listener)
Add a lifecycle event listener to this component.

Specified by:
addLifecycleListener in interface Lifecycle
Parameters:
listener - The listener to add

findLifecycleListeners

public LifecycleListener[] findLifecycleListeners()
Get the lifecycle listeners associated with this lifecycle. If this Lifecycle has no listeners registered, a zero-length array is returned.

Specified by:
findLifecycleListeners in interface Lifecycle

removeLifecycleListener

public void removeLifecycleListener(LifecycleListener listener)
Remove a lifecycle event listener from this component.

Specified by:
removeLifecycleListener in interface Lifecycle
Parameters:
listener - The listener to add

initialize

public void initialize()
                throws LifecycleException
Initialize this connector (create ServerSocket here!)

Specified by:
initialize in interface Connector
Throws:
LifecycleException - If this server was already initialized.

start

public void start()
           throws LifecycleException
Begin processing requests via this Connector.

Specified by:
start in interface Lifecycle
Throws:
LifecycleException - if a fatal startup error occurs

stop

public void stop()
          throws LifecycleException
Terminate processing requests via this Connector.

Specified by:
stop in interface Lifecycle
Throws:
LifecycleException - if a fatal shutdown error occurs

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-2003 Apache Software Foundation. All Rights Reserved.