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();
WebexWebhook payload = mapper.readValue(rawPayload, WebexWebhook.class);
Integer seen = expectedMessages.get(payload.getData().getId());
if(seen != null){
if(seen > 1){
Logger.displayInfo("Rejected");
expectedMessages.remove(payload.getData().getId());
expectedMessages.compute(payload.getData().getId(), (key, seen) -> {
if (seen == null) {
Logger.displayInfo("Accepted message: " + key);
return 1;
} else if (seen >= 1) {
Logger.displayInfo("Rejected message: " + key);
return null;
} else {
seen += 1;
expectedMessages.put(payload.getData().getId(), seen);
return seen + 1;
}
}
});
Room room = webexService.getRoomById(payload.getData().getRoomId());
Message msg = webexService.fetchMessage(payload.getData().getId());