JGroupsTUNNEL

Definition

 

A transport protocol that works by opening a TCP connection to a message Router, such as a Gossip Router . All members of a TUNNEL group must connect to the same router, the router will forward message coming from a member to the other members of the group. Incoming traffic received from Router will simply be passed up the stack.

 

A TUNNEL layer can be used to penetrate a firewall, most firewalls allow creating TCP connections to the outside world, however, they do not permit outside hosts to initiate a TCP connection to a host inside the firewall. Therefore, the connection created by the inside host is reused by Router to send traffic from an outside host to a host inside the firewall.

 

 

Configuration Example

 

    <TUNNEL router_host="192.168.1.3" router_port="12345" loopback="true"></TUNNEL>

 

Configuration Parameters

NameDescription
bind_addrThe bind address which should be used by this transport
bind_interface_strThe interface (NIC) which should be used by this transport
bind_portThe port to which the transport binds. Default of 0 binds to any (ephemeral) port
bundler_capacityThe max number of elements in a bundler if the bundler supports size limitations
bundler_typeThe type of bundler used. Has to be "old" (default) or "new"
diagnostics_addrAddress for diagnostic probing. Default is 224.0.75.75
diagnostics_portPort for diagnostic probing. Default is 7500
discard_incompatible_packetsDiscard packets with a different version if true. Default is false
enable_bundlingEnable bundling of smaller messages into bigger ones. Default is true
enable_diagnosticsSwitch to enable diagnostic probing. Default is true
enable_unicast_bundlingEnable bundling of smaller messages into bigger ones for unicast messages. Default is false
idGive the protocol a different ID if needed so we can have multiple instances of it in the same stack
levelSets the logger level (see javadocs)
log_discard_msgswhether or not warnings about messages from different groups are logged
loopbackMessages to self are looped back immediately if true
marshaller_pool_size
max_bundle_sizeMaximum number of bytes for messages to be queued until they are sent
max_bundle_timeoutMax number of milliseconds until queued messages are sent
nameGive the protocol a different name if needed so we can have multiple instances of it in the same stack
num_timer_threadsNumber of threads to be used by the timer thread pool. Default is 4
oob_thread_pool.keep_alive_timeTimeout in ms to remove idle threads from the OOB pool
oob_thread_pool.max_threadsMax thread pool size for the OOB thread pool
oob_thread_pool.min_threadsMinimum thread pool size for the OOB thread pool
oob_thread_pool_enabledSwitch for enabling thread pool for OOB messages. Default=true
oob_thread_pool_queue_enabledUse queue to enqueue incoming OOB messages
oob_thread_pool_queue_max_sizeMaximum queue size for incoming OOB messages. Default is 500
oob_thread_pool_rejection_policyThread rejection policy. Possible values are Abort, Discard, DiscardOldest and Run. Default is Discard
port_rangeThe range of valid ports, from bind_port to end_port. Infinite if 0
receive_interfacesComma delimited list of interfaces (IP addresses or interface names) to receive multicasts on
receive_on_all_interfacesIf true, the transport should use all available interfaces to receive multicast messages
reconnect_intervalInterval in msec to attempt connecting back to router in case of torn connection. Default is 5000 msec
router_hostRouter host address
router_portRouter port
singleton_nameIf assigned enable this transport to be a singleton (shared) transport
statsDetermines whether to collect statistics (and expose them via JMX). Default is true
thread_naming_patternThread naming pattern for threads in this channel. Default is cl
thread_pool.keep_alive_timeTimeout in milliseconds to remove idle thread from regular pool
thread_pool.max_threadsMaximum thread pool size for the regular thread pool
thread_pool.min_threadsMinimum thread pool size for the regular thread pool
thread_pool_enabledSwitch for enabling thread pool for regular messages. Default true
thread_pool_queue_enabledUse queue to enqueue incoming regular messages. Default is true
thread_pool_queue_max_sizeMaximum queue size for incoming OOB messages. Default is 500
thread_pool_rejection_policyThread rejection policy. Possible values are Abort, Discard, DiscardOldest and Run. Default is Discard
use_local_hostIgnores all bind address parameters and  let's the OS return the local host address

 

See also Protocol Configuration Common Parameters.

 

 

 

Back To JGroups