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