Apache Tomcat 6.0.43

org.apache.tomcat.util.net
Class BaseEndpoint

java.lang.Object
  extended by org.apache.tomcat.util.net.BaseEndpoint

public abstract class BaseEndpoint
extends java.lang.Object

APR tailored thread pool, providing the following services:

When switching to Java 5, there's an opportunity to use the virtual machine's thread pool.

Author:
Mladen Turk, Remy Maucherat

Field Summary
protected  java.net.InetAddress address
          Address for the server socket.
protected  int backlog
          Allows the server developer to specify the backlog that should be used for server sockets.
static java.lang.String CERTIFICATE_KEY
          The Request attribute key for the client certificate chain.
static java.lang.String CIPHER_SUITE_KEY
          The Request attribute key for the cipher suite.
protected  int curThreads
          Current worker threads count.
protected  int curThreadsBusy
          Current worker threads busy count.
protected  boolean daemon
          The default is true - the created threads will be in daemon mode.
protected  java.util.concurrent.Executor executor
          External Executor based thread pool.
protected  boolean initialized
          Track the initialization state of the endpoint.
static java.lang.String KEY_SIZE_KEY
          The Request attribute key for the key size.
protected static Log log
           
protected  int maxThreads
          Maximum amount of worker threads.
protected  java.lang.String name
          Name of the thread pool, which will be used for naming child threads.
protected  boolean paused
          Will be set to true whenever the endpoint is paused.
protected  int port
          Server socket port.
protected  boolean running
          Running state of the endpoint.
protected  int sequence
          Sequence number used to generate thread names.
static java.lang.String SESSION_ID_KEY
          The Request attribute key for the session id.
protected static StringManager sm
           
protected  int soLinger
          Socket linger.
protected  int soTimeout
          Socket timeout.
protected  boolean tcpNoDelay
          Socket TCP no delay.
protected  int threadPriority
          Priority of the acceptor and poller threads.
 
Constructor Summary
BaseEndpoint()
           
 
Method Summary
abstract  void destroy()
          Deallocate APR memory pools, and close server socket.
 java.net.InetAddress getAddress()
           
 int getBacklog()
           
 int getCurrentThreadCount()
          Return the amount of threads that are managed by the pool.
 int getCurrentThreadsBusy()
          Return the amount of threads currently busy.
 boolean getDaemon()
           
 java.util.concurrent.Executor getExecutor()
           
 int getMaxSpareThreads()
          Dummy maxSpareThreads property.
 int getMaxThreads()
           
 int getMinSpareThreads()
          Dummy minSpareThreads property.
 java.lang.String getName()
           
 int getPort()
           
protected  int getSequence()
          Get a sequence number used for thread naming.
 int getSoLinger()
           
 int getSoTimeout()
           
 boolean getTcpNoDelay()
           
 int getThreadPriority()
           
abstract  void init()
          Initialize the endpoint.
 boolean isPaused()
          Return the state of the endpoint.
 boolean isRunning()
          Return the state of the endpoint.
 void pause()
          Pause the endpoint, which will make it stop accepting new sockets.
 void resume()
          Resume the endpoint, which will make it start accepting new sockets again.
 void setAddress(java.net.InetAddress address)
           
 void setBacklog(int backlog)
           
 void setDaemon(boolean b)
           
 void setExecutor(java.util.concurrent.Executor executor)
           
 void setMaxThreads(int maxThreads)
           
 void setName(java.lang.String name)
           
 void setPort(int port)
           
 void setSoLinger(int soLinger)
           
 void setSoTimeout(int soTimeout)
           
 void setTcpNoDelay(boolean tcpNoDelay)
           
 void setThreadPriority(int threadPriority)
           
abstract  void start()
          Start the APR endpoint, creating acceptor, poller and sendfile threads.
abstract  void stop()
          Stop the endpoint.
protected  void unlockAccept()
          Unlock the server socket accept using a bugus connection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static Log log

sm

protected static StringManager sm

CIPHER_SUITE_KEY

public static final java.lang.String CIPHER_SUITE_KEY
The Request attribute key for the cipher suite.

See Also:
Constant Field Values

KEY_SIZE_KEY

public static final java.lang.String KEY_SIZE_KEY
The Request attribute key for the key size.

See Also:
Constant Field Values

CERTIFICATE_KEY

public static final java.lang.String CERTIFICATE_KEY
The Request attribute key for the client certificate chain.

See Also:
Constant Field Values

SESSION_ID_KEY

public static final java.lang.String SESSION_ID_KEY
The Request attribute key for the session id. This one is a Tomcat extension to the Servlet spec.

See Also:
Constant Field Values

running

protected volatile boolean running
Running state of the endpoint.


paused

protected volatile boolean paused
Will be set to true whenever the endpoint is paused.


initialized

protected boolean initialized
Track the initialization state of the endpoint.


curThreadsBusy

protected int curThreadsBusy
Current worker threads busy count.


curThreads

protected int curThreads
Current worker threads count.


sequence

protected int sequence
Sequence number used to generate thread names.


executor

protected java.util.concurrent.Executor executor
External Executor based thread pool.


maxThreads

protected int maxThreads
Maximum amount of worker threads.


threadPriority

protected int threadPriority
Priority of the acceptor and poller threads.


port

protected int port
Server socket port.


address

protected java.net.InetAddress address
Address for the server socket.


backlog

protected int backlog
Allows the server developer to specify the backlog that should be used for server sockets. By default, this value is 100.


tcpNoDelay

protected boolean tcpNoDelay
Socket TCP no delay.


soLinger

protected int soLinger
Socket linger.


soTimeout

protected int soTimeout
Socket timeout.


daemon

protected boolean daemon
The default is true - the created threads will be in daemon mode. If set to false, the control thread will not be daemon - and will keep the process alive.


name

protected java.lang.String name
Name of the thread pool, which will be used for naming child threads.

Constructor Detail

BaseEndpoint

public BaseEndpoint()
Method Detail

setExecutor

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

getExecutor

public java.util.concurrent.Executor getExecutor()

setMaxThreads

public void setMaxThreads(int maxThreads)

getMaxThreads

public int getMaxThreads()

setThreadPriority

public void setThreadPriority(int threadPriority)

getThreadPriority

public int getThreadPriority()

getPort

public int getPort()

setPort

public void setPort(int port)

getAddress

public java.net.InetAddress getAddress()

setAddress

public void setAddress(java.net.InetAddress address)

setBacklog

public void setBacklog(int backlog)

getBacklog

public int getBacklog()

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)

setDaemon

public void setDaemon(boolean b)

getDaemon

public boolean getDaemon()

setName

public void setName(java.lang.String name)

getName

public java.lang.String getName()

getMaxSpareThreads

public int getMaxSpareThreads()
Dummy maxSpareThreads property.


getMinSpareThreads

public int getMinSpareThreads()
Dummy minSpareThreads property.


getCurrentThreadCount

public int getCurrentThreadCount()
Return the amount of threads that are managed by the pool.

Returns:
the amount of threads that are managed by the pool

getCurrentThreadsBusy

public int getCurrentThreadsBusy()
Return the amount of threads currently busy.

Returns:
the amount of threads currently busy

isRunning

public boolean isRunning()
Return the state of the endpoint.

Returns:
true if the endpoint is running, false otherwise

isPaused

public boolean isPaused()
Return the state of the endpoint.

Returns:
true if the endpoint is paused, false otherwise

init

public abstract void init()
                   throws java.lang.Exception
Initialize the endpoint.

Throws:
java.lang.Exception

start

public abstract void start()
                    throws java.lang.Exception
Start the APR endpoint, creating acceptor, poller and sendfile threads.

Throws:
java.lang.Exception

pause

public void pause()
Pause the endpoint, which will make it stop accepting new sockets.


resume

public void resume()
Resume the endpoint, which will make it start accepting new sockets again.


stop

public abstract void stop()
Stop the endpoint. This will cause all processing threads to stop.


destroy

public abstract void destroy()
                      throws java.lang.Exception
Deallocate APR memory pools, and close server socket.

Throws:
java.lang.Exception

getSequence

protected int getSequence()
Get a sequence number used for thread naming.


unlockAccept

protected void unlockAccept()
Unlock the server socket accept using a bugus connection.


Apache Tomcat 6.0.43

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