NAME

Net::STOMP::Client::Connection - Connection support for Net::STOMP::Client

DESCRIPTION

This module provides connection establishment support (plain TCP and SSL) as well as URI handling.

It is used internally by Net::STOMP::Client and should not be directly used elsewhere.

FUNCTIONS

This module provides the following function (which is not exported):

new([OPTIONS])

attempt to establish a new connection to a STOMP server

SSL

When creating an object with Net::STOMP::Client's new() method, if you supply some socket options (via sockopts) with a name starting with SSL_ or if you supply a URI (via uri) with a scheme containg ssl then IO::Socket::SSL will be used to create the socket instead of IO::Socket::IP and the communication with the server will then go through SSL.

Here are the most commonly used SSL socket options:

SSL_ca_path

path to a directory containing several trusted certificates as separate files as well as an index of the certificates

SSL_key_file

path of your RSA private key

SSL_cert_file

path of your certificate

SSL_passwd_cb

subroutine that should return the password required to decrypt your private key

For more information, see IO::Socket::SSL.

FAILOVER

The uri option of Net::STOMP::Client's new() method can be given a complex URI indicating some kind of failover, for instance: failover:(tcp://msg01:6163,tcp://msg02:6163).

The given URI must use the ActiveMQ failover syntax (see http://activemq.apache.org/failover-transport-reference.html) and only some options are supported, namely: backOffMultiplier, initialReconnectDelay, maxReconnectAttempts, maxReconnectDelay, randomize and useExponentialBackOff.

When specified, these failover options will be used only inside the new() method (so at the TCP connection level) and not elsewhere. If the broker later fails during the STOMP interaction, it is up to the program author, knowing the logic of his code, to perform the appropriate recovery actions and eventually reconnect, using again the new() method.

SEE ALSO

IO::Socket::IP, IO::Socket::SSL, Net::STOMP::Client.

AUTHOR

Lionel Cons http://cern.ch/lionel.cons

Copyright (C) CERN 2010-2021