Skip to content

Commit 3ea5d41

Browse files
Scheduling, correct incrementing of counters
1 parent 3fae744 commit 3ea5d41

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/main/java/com/orange/lo/sample/mqtt2eventhub/evthub/EventHubSender.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import net.jodah.failsafe.RetryPolicy;
1616
import org.slf4j.Logger;
1717
import org.slf4j.LoggerFactory;
18+
import org.springframework.scheduling.annotation.EnableScheduling;
1819
import org.springframework.scheduling.annotation.Scheduled;
1920
import org.springframework.stereotype.Component;
2021

@@ -28,6 +29,7 @@
2829
import java.util.concurrent.ExecutorService;
2930

3031
@Component
32+
@EnableScheduling
3133
public class EventHubSender {
3234

3335
private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -60,20 +62,20 @@ public void send(List<LoMessage> messages) {
6062
.withBackoff(eventHubProperties.getThrottlingDelay().toMillis(), Duration.ofMinutes(1).toMillis(), ChronoUnit.MILLIS)
6163
.onRetry(r -> {
6264
LOG.debug("Problem while sending message to Event Hub because of: {}. Retrying...", r.getLastFailure().getMessage());
63-
counters.getMesasageSentAttemptFailedCounter().increment();
65+
counters.getMesasageSentAttemptFailedCounter().increment(messages.size());
6466
})
6567
.onSuccess(r -> {
66-
LOG.debug("Message was sent to Event Hub");
67-
counters.getMesasageSentCounter().increment();
68+
LOG.debug("Batch of messages of the following size were sent: {}", messages.size());
69+
counters.getMesasageSentCounter().increment(messages.size());
6870
messages.forEach(m -> loService.sendAck(m.messageId()));
6971
})
7072
.onFailure(r -> {
7173
LOG.error("Cannot send messages to Event Hub because of {}", r.getFailure());
72-
counters.getMesasageSentFailedCounter().increment();
74+
counters.getMesasageSentFailedCounter().increment(messages.size());
7375
messages.forEach(m -> loService.sendAck(m.messageId()));
7476
})
7577
).with(executorService).run(execution -> {
76-
counters.getMesasageSentAttemptCounter().increment();
78+
counters.getMesasageSentAttemptCounter().increment(messages.size());
7779
try {
7880
List<String> messageContentList = messages.stream().map(LoMessage::message).toList();
7981
eventHubClientFacade.sendSync(messageContentList);
@@ -98,6 +100,7 @@ private void checkConnection() {
98100

99101
@Scheduled(fixedRateString = "${azure.evt-hub.synchronization-interval}")
100102
public void send() {
103+
LOG.debug("Number of messages waiting to be sent: {}", messageQueue.size());
101104
if (!messageQueue.isEmpty()) {
102105
LOG.info("Start sending messages...");
103106

0 commit comments

Comments
 (0)