Switched to atomic operation

This commit is contained in:
2026-01-02 23:22:29 +01:00
parent 8fbe1eccea
commit 58bed5fae2

View File

@@ -110,16 +110,17 @@ public class ChatController {
ObjectMapper mapper = new ObjectMapper(); ObjectMapper mapper = new ObjectMapper();
WebexWebhook payload = mapper.readValue(rawPayload, WebexWebhook.class); WebexWebhook payload = mapper.readValue(rawPayload, WebexWebhook.class);
Integer seen = expectedMessages.get(payload.getData().getId()); expectedMessages.compute(payload.getData().getId(), (key, seen) -> {
if(seen != null){ if (seen == null) {
if(seen > 1){ Logger.displayInfo("Accepted message: " + key);
Logger.displayInfo("Rejected"); return 1;
expectedMessages.remove(payload.getData().getId()); } else if (seen >= 1) {
Logger.displayInfo("Rejected message: " + key);
return null;
} else { } else {
seen += 1; return seen + 1;
expectedMessages.put(payload.getData().getId(), seen);
} }
} });
Room room = webexService.getRoomById(payload.getData().getRoomId()); Room room = webexService.getRoomById(payload.getData().getRoomId());
Message msg = webexService.fetchMessage(payload.getData().getId()); Message msg = webexService.fetchMessage(payload.getData().getId());