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