diff --git a/src/main/java/io/nats/client/ConnectionListener.java b/src/main/java/io/nats/client/ConnectionListener.java index eafba9250..e7a419c68 100644 --- a/src/main/java/io/nats/client/ConnectionListener.java +++ b/src/main/java/io/nats/client/ConnectionListener.java @@ -87,9 +87,10 @@ public String toString() { * use the event type to decide what to do about the problem. * @param conn the connection associated with the error * @param type the type of event that has occurred + * @param time the time of the event, milliseconds since 1/1/1970 * @param uriDetails extra details about the uri related to this connection event */ - default void connectionEvent(Connection conn, Events type, String uriDetails) { + default void connectionEvent(Connection conn, Events type, Long time, String uriDetails) { connectionEvent(conn, type); } } diff --git a/src/main/java/io/nats/client/impl/NatsConnection.java b/src/main/java/io/nats/client/impl/NatsConnection.java index 900aab053..3e855a4c5 100644 --- a/src/main/java/io/nats/client/impl/NatsConnection.java +++ b/src/main/java/io/nats/client/impl/NatsConnection.java @@ -1975,10 +1975,11 @@ String uriDetail(NatsUri uri, NatsUri hostOrlast) { void processConnectionEvent(Events type, String uriDetails) { if (!this.callbackRunner.isShutdown()) { try { + long time = System.currentTimeMillis(); for (ConnectionListener listener : connectionListeners) { this.callbackRunner.execute(() -> { try { - listener.connectionEvent(this, type, uriDetails); + listener.connectionEvent(this, type, time, uriDetails); } catch (Exception ex) { this.statistics.incrementExceptionCount(); }