Class NettyServerBootstrapConfiguration

    • Field Detail

      • protocol

        @UriPath(enums="tcp,udp")
        @Metadata(required=true)
        protected String protocol
      • host

        @UriPath
        @Metadata(required=true)
        protected String host
      • port

        @UriPath
        @Metadata(required=true)
        protected int port
      • broadcast

        @UriParam(label="consumer")
        protected boolean broadcast
      • sendBufferSize

        @UriParam(label="advanced",
                  defaultValue="65536")
        protected int sendBufferSize
      • receiveBufferSize

        @UriParam(label="advanced",
                  defaultValue="65536")
        protected int receiveBufferSize
      • receiveBufferSizePredictor

        @UriParam(label="advanced")
        protected int receiveBufferSizePredictor
      • bossCount

        @UriParam(label="consumer,advanced",
                  defaultValue="1")
        protected int bossCount
      • workerCount

        @UriParam(label="advanced")
        protected int workerCount
      • keepAlive

        @UriParam(defaultValue="true")
        protected boolean keepAlive
      • tcpNoDelay

        @UriParam(defaultValue="true")
        protected boolean tcpNoDelay
      • reuseAddress

        @UriParam(defaultValue="true")
        protected boolean reuseAddress
      • connectTimeout

        @UriParam(label="producer",
                  defaultValue="10000")
        protected int connectTimeout
      • backlog

        @UriParam(label="consumer,advanced")
        protected int backlog
      • serverInitializerFactory

        @UriParam(label="consumer,advanced")
        protected ServerInitializerFactory serverInitializerFactory
      • options

        @UriParam(label="advanced",
                  prefix="option.",
                  multiValue=true)
        protected Map<String,​Object> options
      • ssl

        @UriParam(label="security")
        protected boolean ssl
      • sslClientCertHeaders

        @UriParam(label="security")
        protected boolean sslClientCertHeaders
      • sslHandler

        @UriParam(label="security")
        protected io.netty.handler.ssl.SslHandler sslHandler
      • sslContextParameters

        @UriParam(label="security")
        protected org.apache.camel.support.jsse.SSLContextParameters sslContextParameters
      • needClientAuth

        @UriParam(label="consumer,security")
        protected boolean needClientAuth
      • keyStoreFile

        @UriParam(label="security")
        protected File keyStoreFile
      • trustStoreFile

        @UriParam(label="security")
        protected File trustStoreFile
      • keyStoreResource

        @UriParam(label="security")
        protected String keyStoreResource
      • trustStoreResource

        @UriParam(label="security")
        protected String trustStoreResource
      • keyStoreFormat

        @UriParam(label="security")
        protected String keyStoreFormat
      • securityProvider

        @UriParam(label="security")
        protected String securityProvider
      • enabledProtocols

        @UriParam(defaultValue="TLSv1.2,TLSv1.3",
                  label="security")
        protected String enabledProtocols
      • passphrase

        @UriParam(label="security",
                  secret=true)
        protected String passphrase
      • nativeTransport

        @UriParam(label="advanced")
        protected boolean nativeTransport
      • bossGroup

        @UriParam(label="consumer,advanced")
        protected io.netty.channel.EventLoopGroup bossGroup
      • workerGroup

        @UriParam(label="advanced")
        protected io.netty.channel.EventLoopGroup workerGroup
      • channelGroup

        @UriParam(label="advanced")
        protected io.netty.channel.group.ChannelGroup channelGroup
      • networkInterface

        @UriParam(label="consumer,advanced")
        protected String networkInterface
    • Constructor Detail

      • NettyServerBootstrapConfiguration

        public NettyServerBootstrapConfiguration()
    • Method Detail

      • getAddress

        public String getAddress()
      • isTcp

        public boolean isTcp()
      • getProtocol

        public String getProtocol()
      • setProtocol

        public void setProtocol​(String protocol)
        The protocol to use which can be tcp or udp.
      • getHost

        public String getHost()
      • setHost

        public void setHost​(String host)
        The hostname.

        For the consumer the hostname is localhost or 0.0.0.0. For the producer the hostname is the remote host to connect to

      • getPort

        public int getPort()
      • setPort

        public void setPort​(int port)
        The host port number
      • isBroadcast

        public boolean isBroadcast()
      • setBroadcast

        public void setBroadcast​(boolean broadcast)
        Setting to choose Multicast over UDP
      • getSendBufferSize

        public int getSendBufferSize()
      • setSendBufferSize

        public void setSendBufferSize​(int sendBufferSize)
        The TCP/UDP buffer sizes to be used during outbound communication. Size is bytes.
      • getReceiveBufferSize

        public int getReceiveBufferSize()
      • setReceiveBufferSize

        public void setReceiveBufferSize​(int receiveBufferSize)
        The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes.
      • getReceiveBufferSizePredictor

        public int getReceiveBufferSizePredictor()
      • setReceiveBufferSizePredictor

        public void setReceiveBufferSizePredictor​(int receiveBufferSizePredictor)
        Configures the buffer size predictor. See details at Jetty documentation and this mail thread.
      • getWorkerCount

        public int getWorkerCount()
      • setWorkerCount

        public void setWorkerCount​(int workerCount)
        When netty works on nio mode, it uses default workerCount parameter from Netty (which is cpu_core_threads x 2). User can use this option to override the default workerCount from Netty.
      • getBossCount

        public int getBossCount()
      • setBossCount

        public void setBossCount​(int bossCount)
        When netty works on nio mode, it uses default bossCount parameter from Netty, which is 1. User can use this option to override the default bossCount from Netty
      • isKeepAlive

        public boolean isKeepAlive()
      • setKeepAlive

        public void setKeepAlive​(boolean keepAlive)
        Setting to ensure socket is not closed due to inactivity
      • isTcpNoDelay

        public boolean isTcpNoDelay()
      • setTcpNoDelay

        public void setTcpNoDelay​(boolean tcpNoDelay)
        Setting to improve TCP protocol performance
      • isReuseAddress

        public boolean isReuseAddress()
      • setReuseAddress

        public void setReuseAddress​(boolean reuseAddress)
        Setting to facilitate socket multiplexing
      • getConnectTimeout

        public int getConnectTimeout()
      • setConnectTimeout

        public void setConnectTimeout​(int connectTimeout)
        Time to wait for a socket connection to be available. Value is in milliseconds.
      • getBacklog

        public int getBacklog()
      • setBacklog

        public void setBacklog​(int backlog)
        Allows to configure a backlog for netty consumer (server). Note the backlog is just a best effort depending on the OS. Setting this option to a value such as 200, 500 or 1000, tells the TCP stack how long the "accept" queue can be If this option is not configured, then the backlog depends on OS setting.
      • isSsl

        public boolean isSsl()
      • setSsl

        public void setSsl​(boolean ssl)
        Setting to specify whether SSL encryption is applied to this endpoint
      • isSslClientCertHeaders

        public boolean isSslClientCertHeaders()
      • setSslClientCertHeaders

        public void setSslClientCertHeaders​(boolean sslClientCertHeaders)
        When enabled and in SSL mode, then the Netty consumer will enrich the Camel Message with headers having information about the client certificate such as subject name, issuer name, serial number, and the valid date range.
      • getSslHandler

        public io.netty.handler.ssl.SslHandler getSslHandler()
      • setSslHandler

        public void setSslHandler​(io.netty.handler.ssl.SslHandler sslHandler)
        Reference to a class that could be used to return an SSL Handler
      • getSslContextParameters

        public org.apache.camel.support.jsse.SSLContextParameters getSslContextParameters()
      • setSslContextParameters

        public void setSslContextParameters​(org.apache.camel.support.jsse.SSLContextParameters sslContextParameters)
        To configure security using SSLContextParameters
      • isNeedClientAuth

        public boolean isNeedClientAuth()
      • setNeedClientAuth

        public void setNeedClientAuth​(boolean needClientAuth)
        Configures whether the server needs client authentication when using SSL.
      • setKeyStoreFile

        @Deprecated
        public void setKeyStoreFile​(File keyStoreFile)
        Deprecated.
        Client side certificate keystore to be used for encryption
      • getTrustStoreFile

        @Deprecated
        public File getTrustStoreFile()
        Deprecated.
      • setTrustStoreFile

        @Deprecated
        public void setTrustStoreFile​(File trustStoreFile)
        Deprecated.
        Server side certificate keystore to be used for encryption
      • getKeyStoreResource

        public String getKeyStoreResource()
      • setKeyStoreResource

        public void setKeyStoreResource​(String keyStoreResource)
        Client side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with "classpath:", "file:", or "http:" to load the resource from different systems.
      • getTrustStoreResource

        public String getTrustStoreResource()
      • setTrustStoreResource

        public void setTrustStoreResource​(String trustStoreResource)
        Server side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with "classpath:", "file:", or "http:" to load the resource from different systems.
      • getKeyStoreFormat

        public String getKeyStoreFormat()
      • setKeyStoreFormat

        public void setKeyStoreFormat​(String keyStoreFormat)
        Keystore format to be used for payload encryption. Defaults to "JKS" if not set
      • getSecurityProvider

        public String getSecurityProvider()
      • setSecurityProvider

        public void setSecurityProvider​(String securityProvider)
        Security provider to be used for payload encryption. Defaults to "SunX509" if not set.
      • getPassphrase

        public String getPassphrase()
      • setPassphrase

        public void setPassphrase​(String passphrase)
        Password setting to use in order to encrypt/decrypt payloads sent using SSH
      • setServerInitializerFactory

        public void setServerInitializerFactory​(ServerInitializerFactory serverInitializerFactory)
        To use a custom ServerInitializerFactory
      • setNettyServerBootstrapFactory

        public void setNettyServerBootstrapFactory​(NettyServerBootstrapFactory nettyServerBootstrapFactory)
        To use a custom NettyServerBootstrapFactory
      • setOptions

        public void setOptions​(Map<String,​Object> options)
        Allows to configure additional netty options using "option." as prefix. For example "option.child.keepAlive=false" to set the netty option "child.keepAlive=false". See the Netty documentation for possible options that can be used.
      • isNativeTransport

        public boolean isNativeTransport()
      • setNativeTransport

        public void setNativeTransport​(boolean nativeTransport)
        Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: http://netty.io/wiki/native-transports.html
      • getBossGroup

        public io.netty.channel.EventLoopGroup getBossGroup()
      • setBossGroup

        public void setBossGroup​(io.netty.channel.EventLoopGroup bossGroup)
        Set the BossGroup which could be used for handling the new connection of the server side across the NettyEndpoint
      • getWorkerGroup

        public io.netty.channel.EventLoopGroup getWorkerGroup()
      • setWorkerGroup

        public void setWorkerGroup​(io.netty.channel.EventLoopGroup workerGroup)
        To use a explicit EventLoopGroup as the boss thread pool. For example to share a thread pool with multiple consumers or producers. By default each consumer or producer has their own worker pool with 2 x cpu count core threads.
      • getChannelGroup

        public io.netty.channel.group.ChannelGroup getChannelGroup()
      • setChannelGroup

        public void setChannelGroup​(io.netty.channel.group.ChannelGroup channelGroup)
        To use a explicit ChannelGroup.
      • getNetworkInterface

        public String getNetworkInterface()
      • setNetworkInterface

        public void setNetworkInterface​(String networkInterface)
        When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group.
      • getEnabledProtocols

        public String getEnabledProtocols()
      • setEnabledProtocols

        public void setEnabledProtocols​(String enabledProtocols)
        Which protocols to enable when using SSL
      • isReconnect

        public boolean isReconnect()
        Used only in clientMode in consumer, the consumer will attempt to reconnect on disconnection if this is enabled
      • setReconnect

        public void setReconnect​(boolean reconnect)
      • getReconnectInterval

        public int getReconnectInterval()
        Used if reconnect and clientMode is enabled. The interval in milli seconds to attempt reconnection
      • setReconnectInterval

        public void setReconnectInterval​(int reconnectInterval)
      • getUnixDomainSocketPath

        public String getUnixDomainSocketPath()
      • setUnixDomainSocketPath

        public void setUnixDomainSocketPath​(String unixDomainSocketPath)
        Path to unix domain socket to use instead of inet socket. Host and port parameters will not be used, however required. It is ok to set dummy values for them. Must be used with nativeTransport=true and clientMode=false.
      • toStringBootstrapConfiguration

        public String toStringBootstrapConfiguration()