private void deliver(Runnable signalsInterrupt, MessageBatch batch, Retryer<MessageSendingResult> retryer) { try (Timer.Context timer = hermesMetrics.subscriptionLatencyTimer(subscription).time()) { retryer.call(() -> { signalsInterrupt.run(); return sender.send( batch, subscription.getEndpoint(), subscription.getEndpointAddressResolverMetadata(), subscription.getBatchSubscriptionPolicy().getRequestTimeout() ); }); } catch (Exception e) { logger.error("Batch was rejected [batch_id={}, subscription={}].", batch.getId(), subscription.getQualifiedName(), e); monitoring.markDiscarded(batch, subscription, e.getMessage()); } }
private void deliver(Runnable signalsInterrupt, MessageBatch batch, Retryer<MessageSendingResult> retryer) { try (Timer.Context timer = hermesMetrics.subscriptionLatencyTimer(subscription).time()) { retryer.call(() -> { signalsInterrupt.run(); return sender.send( batch, subscription.getEndpoint(), subscription.getEndpointAddressResolverMetadata(), subscription.getBatchSubscriptionPolicy().getRequestTimeout() ); }); } catch (Exception e) { logger.error("Batch was rejected [batch_id={}, subscription={}].", batch.getId(), subscription.getQualifiedName(), e); monitoring.markDiscarded(batch, subscription, e.getMessage()); } }