org.apache.coyote.ajp

## Class AjpAprProtocol

- java.lang.Object
- - org.apache.coyote.AbstractProtocol
  - - org.apache.coyote.ajp.AbstractAjpProtocol
    - - org.apache.coyote.ajp.AjpAprProtocol

All Implemented Interfaces:
  MBeanRegistration, ProtocolHandler

    public class AjpAprProtocol
    extends AbstractAjpProtocol

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

### Nested Class Summary

Nested Classes
`protected static class` `AjpAprProtocol.AjpConnectionHandler`

### Nested classes/interfaces inherited from class org.apache.coyote.ajp.AbstractAjpProtocol

`AbstractAjpProtocol.AbstractAjpConnectionHandler<S,P extends AbstractAjpProcessor<S>>`

### Nested classes/interfaces inherited from class org.apache.coyote.AbstractProtocol

`AbstractProtocol.AbstractConnectionHandler<S,P extends Processor<S>>, AbstractProtocol.RecycledProcessors<P extends Processor<S>,S>`

### Field Summary

### Fields inherited from class org.apache.coyote.ajp.AbstractAjpProtocol

`packetSize, requiredSecret, sm, tomcatAuthentication`

### Fields inherited from class org.apache.coyote.AbstractProtocol

`adapter, clientCertProvider, domain, endpoint, mserver, oname, processorCache, rgOname, tpOname`

### Constructor Summary

Constructors
Constructor and Description
`AjpAprProtocol()`

### Method Summary

Methods
`protected AbstractEndpoint.Handler` `getHandler()` Obtain the handler associated with the underlying Endpoint
`protected Log` `getLog()` Concrete implementations need to provide access to their logger to be used by the abstract classes.
`protected String` `getNamePrefix()` Obtain the prefix to be used when construction a name for this protocol handler.
`int` `getPollerSize()`
`int` `getPollTime()`
`boolean` `isAprRequired()` Requires APR/native library
`void` `setPollerSize(int pollerSize)`
`void` `setPollTime(int pollTime)`

### Methods inherited from class org.apache.coyote.ajp.AbstractAjpProtocol

`getPacketSize, getProtocolName, getTomcatAuthentication, setPacketSize, setRequiredSecret, setTomcatAuthentication`

### Methods inherited from class org.apache.coyote.AbstractProtocol

`destroy, getAdapter, getAddress, getBacklog, getClientCertProvider, getConnectionCount, getConnectionTimeout, getDomain, getExecutor, getKeepAliveTimeout, getLocalPort, getMaxConnections, getMaxHeaderCount, getMaxThreads, getMinSpareThreads, getName, getNameIndex, getObjectName, getPort, getProcessorCache, getProperty, getSoLinger, getSoTimeout, getTcpNoDelay, getThreadPriority, init, pause, postDeregister, postRegister, preDeregister, preRegister, resume, setAdapter, setAddress, setBacklog, setClientCertProvider, setConnectionTimeout, setExecutor, setKeepAliveTimeout, setMaxConnections, setMaxHeaderCount, setMaxThreads, setMinSpareThreads, setPort, setProcessorCache, setProperty, setSoLinger, setSoTimeout, setTcpNoDelay, setThreadPriority, start, stop`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### AjpAprProtocol

    public AjpAprProtocol()

### Method Detail

#### getLog

    protected Log getLog()

Description copied from class: `AbstractProtocol`
Concrete implementations need to provide access to their logger to be used by the abstract classes.

Specified by:
  `getLog` in class `AbstractProtocol`

#### getHandler

    protected AbstractEndpoint.Handler getHandler()

Description copied from class: `AbstractProtocol`
Obtain the handler associated with the underlying Endpoint

Specified by:
  `getHandler` in class `AbstractProtocol`

#### isAprRequired

    public boolean isAprRequired()

Description copied from interface: `ProtocolHandler`
Requires APR/native library

Specified by:
  `isAprRequired` in interface `ProtocolHandler`
Overrides:
  `isAprRequired` in class `AbstractProtocol`

#### getPollTime

    public int getPollTime()

#### setPollTime

    public void setPollTime(int pollTime)

#### setPollerSize

    public void setPollerSize(int pollerSize)

#### getPollerSize

    public int getPollerSize()

#### getNamePrefix

    protected String getNamePrefix()

Description copied from class: `AbstractProtocol`
Obtain the prefix to be used when construction a name for this protocol handler. The name will be prefix-address-port.

Specified by:
  `getNamePrefix` in class `AbstractProtocol`