lib/connection/utils.rb in stomp-1.3.0 vs lib/connection/utils.rb in stomp-1.3.1

- old
+ new

@@ -114,11 +114,13 @@ @failure = nil begin used_socket = open_socket() # sets @closed = false if OK # Open is complete connect(used_socket) - @logger.on_connected(log_params) + if @logger && @logger.respond_to?(:on_connected) + @logger.on_connected(log_params) + end @connection_attempts = 0 rescue @failure = $! used_socket = nil @closed = true @@ -128,17 +130,20 @@ # Catch errors which are: # a) emitted from corrupted 1.1+ 'connect' (caller programming error) # b) should never be retried raise if @failure.is_a?(Stomp::Error::ProtocolError11p) - # on_connectfail may raise - begin - @logger.on_connectfail(log_params) - rescue Exception => aex - raise if aex.is_a?(Stomp::Error::LoggerConnectionError) + if @logger && @logger.respond_to?(:on_connectfail) + # on_connectfail may raise + begin + @logger.on_connectfail(log_params) + rescue Exception => aex + raise if aex.is_a?(Stomp::Error::LoggerConnectionError) + end + else + $stderr.print "connect to #{@host} failed: #{$!} will retry(##{@connection_attempts}) in #{@reconnect_delay}\n" end - $stderr.print "connect to #{@host} failed: #{$!} will retry(##{@connection_attempts}) in #{@reconnect_delay}\n" raise Stomp::Error::MaxReconnectAttempts if max_reconnect_attempts? sleep(@reconnect_delay) @connection_attempts += 1 @@ -230,11 +235,14 @@ raise rescue @failure = $! raise unless @reliable errstr = "receive failed: #{$!}" - @logger.on_miscerr(log_params, "es_oldrecv: " + errstr) - $stderr.print errstr + if @logger && @logger.respond_to?(:on_miscerr) + @logger.on_miscerr(log_params, "es_oldrecv: " + errstr) + else + $stderr.print errstr + end # !!! This initiates a re-connect !!! _reconn_prep() end end