Package org.apache.camel.component.netty
Class NettyServerBootstrapConfiguration
java.lang.Object
org.apache.camel.component.netty.NettyServerBootstrapConfiguration
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
NettyConfiguration
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
protected int
protected io.netty.channel.EventLoopGroup
protected boolean
protected io.netty.channel.group.ChannelGroup
protected int
static final String
protected String
protected String
protected boolean
protected File
protected String
protected String
protected boolean
protected boolean
protected NettyServerBootstrapFactory
protected String
protected String
protected int
protected String
protected int
protected int
protected boolean
protected String
protected int
protected ServerInitializerFactory
protected boolean
protected boolean
protected org.apache.camel.support.jsse.SSLContextParameters
protected io.netty.handler.ssl.SslHandler
protected boolean
protected File
protected String
protected int
protected io.netty.channel.EventLoopGroup
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Checks if the otherNettyServerBootstrapConfiguration
is compatible with this, as a Netty listener bound on port X shares the same commonNettyServerBootstrapConfiguration
, which must be identical.int
int
io.netty.channel.EventLoopGroup
io.netty.channel.group.ChannelGroup
int
getHost()
Deprecated.int
getPort()
int
int
int
Used if reconnect and clientMode is enabled.int
Deprecated.use #getServerInitializerFactoryorg.apache.camel.support.jsse.SSLContextParameters
io.netty.handler.ssl.SslHandler
Deprecated.int
io.netty.channel.EventLoopGroup
boolean
boolean
boolean
boolean
boolean
Used only in clientMode in consumer, the consumer will attempt to reconnect on disconnection if this is enabledboolean
boolean
isSsl()
boolean
boolean
isTcp()
boolean
void
setBacklog
(int backlog) Allows to configure a backlog for netty consumer (server).void
setBossCount
(int bossCount) When netty works on nio mode, it uses default bossCount parameter from Netty, which is 1.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 NettyEndpointvoid
setBroadcast
(boolean broadcast) Setting to choose Multicast over UDPvoid
setChannelGroup
(io.netty.channel.group.ChannelGroup channelGroup) To use a explicit ChannelGroup.void
setConnectTimeout
(int connectTimeout) Time to wait for a socket connection to be available.void
setEnabledProtocols
(String enabledProtocols) Which protocols to enable when using SSLvoid
The hostname.void
setKeepAlive
(boolean keepAlive) Setting to ensure socket is not closed due to inactivityvoid
setKeyStoreFile
(File keyStoreFile) Deprecated.void
setKeyStoreFormat
(String keyStoreFormat) Keystore format to be used for payload encryption.void
setKeyStoreResource
(String keyStoreResource) Client side certificate keystore to be used for encryption.void
setNativeTransport
(boolean nativeTransport) Whether to use native transport instead of NIO.void
setNeedClientAuth
(boolean needClientAuth) Configures whether the server needs client authentication when using SSL.void
setNettyServerBootstrapFactory
(NettyServerBootstrapFactory nettyServerBootstrapFactory) To use a custom NettyServerBootstrapFactoryvoid
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.void
setOptions
(Map<String, Object> options) Allows to configure additional netty options using "option." as prefix.void
setPassphrase
(String passphrase) Password setting to use in order to encrypt/decrypt payloads sent using SSHvoid
setPort
(int port) The host port numbervoid
setProtocol
(String protocol) The protocol to use which can be tcp or udp.void
setReceiveBufferSize
(int receiveBufferSize) The TCP/UDP buffer sizes to be used during inbound communication.void
setReceiveBufferSizePredictor
(int receiveBufferSizePredictor) Configures the buffer size predictor.void
setReconnect
(boolean reconnect) void
setReconnectInterval
(int reconnectInterval) void
setReuseAddress
(boolean reuseAddress) Setting to facilitate socket multiplexingvoid
setSecurityProvider
(String securityProvider) Security provider to be used for payload encryption.void
setSendBufferSize
(int sendBufferSize) The TCP/UDP buffer sizes to be used during outbound communication.void
setServerInitializerFactory
(ServerInitializerFactory serverInitializerFactory) To use a custom ServerInitializerFactoryvoid
setServerPipelineFactory
(ServerInitializerFactory serverPipelineFactory) Deprecated.use #setServerInitializerFactoryvoid
setSsl
(boolean ssl) Setting to specify whether SSL encryption is applied to this endpointvoid
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.void
setSslContextParameters
(org.apache.camel.support.jsse.SSLContextParameters sslContextParameters) To configure security using SSLContextParametersvoid
setSslHandler
(io.netty.handler.ssl.SslHandler sslHandler) Reference to a class that could be used to return an SSL Handlervoid
setTcpNoDelay
(boolean tcpNoDelay) Setting to improve TCP protocol performancevoid
setTrustStoreFile
(File trustStoreFile) Deprecated.void
setTrustStoreResource
(String trustStoreResource) Server side certificate keystore to be used for encryption.void
setUnixDomainSocketPath
(String unixDomainSocketPath) Path to unix domain socket to use instead of inet socket.void
setWorkerCount
(int workerCount) When netty works on nio mode, it uses default workerCount parameter from Netty (which is cpu_core_threads x 2).void
setWorkerGroup
(io.netty.channel.EventLoopGroup workerGroup) To use a explicit EventLoopGroup as the boss thread pool.
-
Field Details
-
DEFAULT_ENABLED_PROTOCOLS
- See Also:
-
protocol
-
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
-
nettyServerBootstrapFactory
@UriParam(label="consumer,advanced") protected NettyServerBootstrapFactory nettyServerBootstrapFactory -
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
-
trustStoreFile
-
keyStoreResource
-
trustStoreResource
-
keyStoreFormat
-
securityProvider
-
enabledProtocols
-
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
-
-
Constructor Details
-
NettyServerBootstrapConfiguration
public NettyServerBootstrapConfiguration()
-
-
Method Details
-
getAddress
-
isTcp
public boolean isTcp() -
getProtocol
-
setProtocol
The protocol to use which can be tcp or udp. -
getHost
-
setHost
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. -
getKeyStoreFile
Deprecated. -
setKeyStoreFile
Deprecated.Client side certificate keystore to be used for encryption -
getTrustStoreFile
Deprecated. -
setTrustStoreFile
Deprecated.Server side certificate keystore to be used for encryption -
getKeyStoreResource
-
setKeyStoreResource
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
-
setTrustStoreResource
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
-
setKeyStoreFormat
Keystore format to be used for payload encryption. Defaults to "JKS" if not set -
getSecurityProvider
-
setSecurityProvider
Security provider to be used for payload encryption. Defaults to "SunX509" if not set. -
getPassphrase
-
setPassphrase
Password setting to use in order to encrypt/decrypt payloads sent using SSH -
getServerPipelineFactory
Deprecated.use #getServerInitializerFactory -
setServerPipelineFactory
Deprecated.use #setServerInitializerFactory -
getServerInitializerFactory
-
setServerInitializerFactory
To use a custom ServerInitializerFactory -
getNettyServerBootstrapFactory
-
setNettyServerBootstrapFactory
To use a custom NettyServerBootstrapFactory -
getOptions
-
setOptions
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
-
setNetworkInterface
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
-
setEnabledProtocols
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
-
setUnixDomainSocketPath
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. -
compatible
Checks if the otherNettyServerBootstrapConfiguration
is compatible with this, as a Netty listener bound on port X shares the same commonNettyServerBootstrapConfiguration
, which must be identical. -
toStringBootstrapConfiguration
-