fixed locking in Mongo tests; made SwissTiming StoreAndForward robust against concurrent database drops

This commit is contained in:
Axel Uhl
2012-06-29 10:18:31 +02:00
parent bcacf0b81a
commit d51b6b3e19
2 changed files with 11 additions and 6 deletions
@@ -265,7 +265,7 @@ public class StoreAndForward implements Runnable {
while (!stopped && messageAndOptionalSequenceNumber != null) {
logger.fine("Received message: "+messageAndOptionalSequenceNumber.getA());
DBObject newCountRecord = lastMessageCountCollection.findAndModify(emptyQuery, incrementLastMessageCountQuery);
lastMessageCount = (Long) newCountRecord.get(FieldNames.LAST_MESSAGE_COUNT.name());
lastMessageCount = (Long) ((newCountRecord == null) ? 0 : newCountRecord.get(FieldNames.LAST_MESSAGE_COUNT.name()));
SailMasterMessage message = swissTimingFactory.createMessage(messageAndOptionalSequenceNumber.getA(), lastMessageCount);
swissTimingAdapterPersistence.storeSailMasterMessage(message);
synchronized (this) {