Class SocketProperties


  • public class SocketProperties
    extends java.lang.Object
    Properties that can be set in the <Connector> element in server.xml. All properties are prefixed with "socket." and are currently only working for the Nio connector
    • Field Detail

      • processorCache

        protected int processorCache
        Enable/disable socket processor cache, this bounded cache stores SocketProcessor objects to reduce GC Default is 500 -1 is unlimited 0 is disabled
      • eventCache

        protected int eventCache
        Enable/disable poller event cache, this bounded cache stores PollerEvent objects to reduce GC for the poller Default is 500 -1 is unlimited 0 is disabled >0 the max number of objects to keep in cache.
      • directBuffer

        protected boolean directBuffer
        Enable/disable direct buffers for the network buffers Default value is disabled
      • directSslBuffer

        protected boolean directSslBuffer
        Enable/disable direct buffers for the network buffers for SSL Default value is disabled
      • rxBufSize

        protected java.lang.Integer rxBufSize
        Socket receive buffer size in bytes (SO_RCVBUF). JVM default used if not set.
      • txBufSize

        protected java.lang.Integer txBufSize
        Socket send buffer size in bytes (SO_SNDBUF). JVM default used if not set.
      • appReadBufSize

        protected int appReadBufSize
        The application read buffer size in bytes. Default value is rxBufSize
      • appWriteBufSize

        protected int appWriteBufSize
        The application write buffer size in bytes Default value is txBufSize
      • bufferPool

        protected int bufferPool
        NioChannel pool size for the endpoint, this value is how many channels -1 means unlimited cached, 0 means no cache, -2 means bufferPoolSize will be used Default value is -2
      • bufferPoolSize

        protected int bufferPoolSize
        Buffer pool size in bytes to be cached -1 means unlimited, 0 means no cache Default value is based on the max memory reported by the JVM, if less than 1GB, then 0, else the value divided by 32. This value will then be used to compute bufferPool if its value is -2
      • tcpNoDelay

        protected java.lang.Boolean tcpNoDelay
        TCP_NO_DELAY option. JVM default used if not set.
      • soKeepAlive

        protected java.lang.Boolean soKeepAlive
        SO_KEEPALIVE option. JVM default used if not set.
      • ooBInline

        protected java.lang.Boolean ooBInline
        OOBINLINE option. JVM default used if not set.
      • soReuseAddress

        protected java.lang.Boolean soReuseAddress
        SO_REUSEADDR option. JVM default used if not set.
      • soLingerOn

        protected java.lang.Boolean soLingerOn
        SO_LINGER option, paired with the soLingerTime value. JVM defaults used unless both attributes are set.
      • soLingerTime

        protected java.lang.Integer soLingerTime
        SO_LINGER option, paired with the soLingerOn value. JVM defaults used unless both attributes are set.
      • soTimeout

        protected java.lang.Integer soTimeout
        SO_TIMEOUT option. default is 20000.
      • performanceConnectionTime

        protected java.lang.Integer performanceConnectionTime
        Performance preferences according to http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int) All three performance attributes must be set or the JVM defaults will be used.
      • performanceLatency

        protected java.lang.Integer performanceLatency
        Performance preferences according to http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int) All three performance attributes must be set or the JVM defaults will be used.
      • performanceBandwidth

        protected java.lang.Integer performanceBandwidth
        Performance preferences according to http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int) All three performance attributes must be set or the JVM defaults will be used.
      • timeoutInterval

        protected long timeoutInterval
        The minimum frequency of the timeout interval to avoid excess load from the poller during high traffic
      • unlockTimeout

        protected int unlockTimeout
        Timeout in milliseconds for an unlock to take place.
    • Constructor Detail

      • SocketProperties

        public SocketProperties()
    • Method Detail

      • setProperties

        public void setProperties​(java.net.Socket socket)
                           throws java.net.SocketException
        Throws:
        java.net.SocketException
      • setProperties

        public void setProperties​(java.net.ServerSocket socket)
                           throws java.net.SocketException
        Throws:
        java.net.SocketException
      • setProperties

        public void setProperties​(java.nio.channels.AsynchronousSocketChannel socket)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • setProperties

        public void setProperties​(java.nio.channels.AsynchronousServerSocketChannel socket)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • getDirectBuffer

        public boolean getDirectBuffer()
      • getDirectSslBuffer

        public boolean getDirectSslBuffer()
      • getOoBInline

        public boolean getOoBInline()
      • getPerformanceBandwidth

        public int getPerformanceBandwidth()
      • getPerformanceConnectionTime

        public int getPerformanceConnectionTime()
      • getPerformanceLatency

        public int getPerformanceLatency()
      • getRxBufSize

        public int getRxBufSize()
      • getSoKeepAlive

        public boolean getSoKeepAlive()
      • getSoLingerOn

        public boolean getSoLingerOn()
      • getSoLingerTime

        public int getSoLingerTime()
      • getSoReuseAddress

        public boolean getSoReuseAddress()
      • getSoTimeout

        public int getSoTimeout()
      • getTcpNoDelay

        public boolean getTcpNoDelay()
      • getTxBufSize

        public int getTxBufSize()
      • getBufferPool

        public int getBufferPool()
      • getBufferPoolSize

        public int getBufferPoolSize()
      • getEventCache

        public int getEventCache()
      • getAppReadBufSize

        public int getAppReadBufSize()
      • getAppWriteBufSize

        public int getAppWriteBufSize()
      • getProcessorCache

        public int getProcessorCache()
      • getTimeoutInterval

        public long getTimeoutInterval()
      • getDirectBufferPool

        public int getDirectBufferPool()
      • setPerformanceConnectionTime

        public void setPerformanceConnectionTime​(int performanceConnectionTime)
      • setTxBufSize

        public void setTxBufSize​(int txBufSize)
      • setTcpNoDelay

        public void setTcpNoDelay​(boolean tcpNoDelay)
      • setSoTimeout

        public void setSoTimeout​(int soTimeout)
      • setSoReuseAddress

        public void setSoReuseAddress​(boolean soReuseAddress)
      • setSoLingerTime

        public void setSoLingerTime​(int soLingerTime)
      • setSoKeepAlive

        public void setSoKeepAlive​(boolean soKeepAlive)
      • setRxBufSize

        public void setRxBufSize​(int rxBufSize)
      • setPerformanceLatency

        public void setPerformanceLatency​(int performanceLatency)
      • setPerformanceBandwidth

        public void setPerformanceBandwidth​(int performanceBandwidth)
      • setOoBInline

        public void setOoBInline​(boolean ooBInline)
      • setDirectBuffer

        public void setDirectBuffer​(boolean directBuffer)
      • setDirectSslBuffer

        public void setDirectSslBuffer​(boolean directSslBuffer)
      • setSoLingerOn

        public void setSoLingerOn​(boolean soLingerOn)
      • setBufferPool

        public void setBufferPool​(int bufferPool)
      • setBufferPoolSize

        public void setBufferPoolSize​(int bufferPoolSize)
      • setEventCache

        public void setEventCache​(int eventCache)
      • setAppReadBufSize

        public void setAppReadBufSize​(int appReadBufSize)
      • setAppWriteBufSize

        public void setAppWriteBufSize​(int appWriteBufSize)
      • setProcessorCache

        public void setProcessorCache​(int processorCache)
      • setTimeoutInterval

        public void setTimeoutInterval​(long timeoutInterval)
      • setDirectBufferPool

        public void setDirectBufferPool​(int directBufferPool)
      • getUnlockTimeout

        public int getUnlockTimeout()
      • setUnlockTimeout

        public void setUnlockTimeout​(int unlockTimeout)
      • getActualBufferPool

        public int getActualBufferPool​(int bufferOverhead)
        Get the actual buffer pool size to use.
        Parameters:
        bufferOverhead - When TLS is enabled, additional network buffers are needed and will be added to the application buffer size
        Returns:
        the actual buffer pool size that will be used