# Class AjpNio2Protocol

java.lang.Object
org.apache.coyote.AbstractProtocol<Nio2Channel>
org.apache.coyote.ajp.AbstractAjpProtocol<Nio2Channel>
org.apache.coyote.ajp.AjpNio2Protocol

All Implemented Interfaces:
  `MBeanRegistration`, `ProtocolHandler`

public class AjpNio2Protocol extends AbstractAjpProtocol<Nio2Channel>
This the NIO2 based protocol handler implementation for AJP.

## Nested Class Summary

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

`AbstractProtocol.ConnectionHandler<S>, AbstractProtocol.RecycledProcessors`

## Field Summary

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

`sm`

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

`adapter, domain, mserver, oname, processorCache, rgOname`

## Constructor Summary

Constructors
Constructor
Description
`AjpNio2Protocol()`

## Method Summary

Modifier and Type
Method
Description
`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.

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

`addSslHostConfig, addSslHostConfig, addUpgradeProtocol, createProcessor, createUpgradeProcessor, findSslHostConfigs, findUpgradeProtocols, getAjpFlush, getAllowedRequestAttributesPattern, getAllowedRequestAttributesPatternInternal, getDesiredBufferSize, getEndpoint, getNegotiatedProtocol, getPacketSize, getProtocolName, getRequiredSecret, getSecret, getSecretRequired, getTomcatAuthentication, getTomcatAuthorization, getUpgradeProtocol, setAjpFlush, setAllowedRequestAttributesPattern, setPacketSize, setRequiredSecret, setSecret, setSecretRequired, setTomcatAuthentication, setTomcatAuthorization, start`

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

`addWaitingProcessor, awaitConnectionsClose, closeServerSocketGraceful, destroy, getAcceptCount, getAcceptorThreadPriority, getAdapter, getAddress, getClientCertProvider, getConnectionCount, getConnectionLinger, getConnectionTimeout, getDomain, getExecutor, getGlobalRequestProcessorMBeanName, getHandler, getId, getKeepAliveTimeout, getLocalPort, getMaxConnections, getMaxHeaderCount, getMaxQueueSize, getMaxThreads, getMinSpareThreads, getName, getNameIndex, getObjectName, getPort, getPortOffset, getPortWithOffset, getProcessorCache, getProperty, getTcpNoDelay, getThreadPriority, getUtilityExecutor, getWaitingProcessorCount, init, isPaused, isSendfileSupported, pause, postDeregister, postRegister, preDeregister, preRegister, removeWaitingProcessor, resume, setAcceptCount, setAcceptorThreadPriority, setAdapter, setAddress, setClientCertProvider, setConnectionLinger, setConnectionTimeout, setExecutor, setHandler, setKeepAliveTimeout, setMaxConnections, setMaxHeaderCount, setMaxQueueSize, setMaxThreads, setMinSpareThreads, setPort, setPortOffset, setProcessorCache, setProperty, setTcpNoDelay, setThreadPriority, setUtilityExecutor, startAsyncTimeout, stop, stopAsyncTimeout`

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

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

## Constructor Details

### AjpNio2Protocol

public AjpNio2Protocol()

## Method Details

### 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<Nio2Channel>`
Returns:
  the logger

### 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<Nio2Channel>`
Returns:
  the prefix