Switched to atomic operation
This commit is contained in:
@@ -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());
|
||||||
|
|||||||
Reference in New Issue
Block a user