# 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, getSecret, getSecretRequired, getTomcatAuthentication, getTomcatAuthorization, getUpgradeProtocol, setAjpFlush, setAllowedRequestAttributesPattern, setPacketSize, 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