@Override public void run() { try (final NarCloseable narCloseable = NarCloseable.withFrameworkNar()) { if (heartbeatsSuspended.get()) { return; } final HeartbeatMessage message = createHeartbeatMessage(); if (message == null) { LOG.debug("No heartbeat to send"); return; } heartbeater.send(message); } catch (final UnknownServiceAddressException usae) { if (LOG.isDebugEnabled()) { LOG.debug(usae.getMessage()); } } catch (final Throwable ex) { LOG.warn("Failed to send heartbeat due to: " + ex); if (LOG.isDebugEnabled()) { LOG.warn("", ex); } } } }