public void handleClusterMessage(final SystemAdvertisement adv, final Object message) { MessagePacket msgPkt = new MessagePacket(adv, message); try { //logger.log(Level.FINE, "Received AppMessage Notification, placing in message queue = " + new String(((GMSMessage)message).getMessage())); boolean result = getMsgQueue().offer(msgPkt); if (result == false) { // blocking queue is full. log how long we were blocked. int fullcapacity = getMsgQueue().size(); long starttime = System.currentTimeMillis(); try { getMsgQueue().put(msgPkt); } finally { long duration = System.currentTimeMillis() - starttime; if (duration > 0) { monitorLogger.info("remote message reception blocked due to incoming message queue being full for " + duration + " ms. Message queue capacity: " + fullcapacity); } } } } catch (InterruptedException e) { logger.log(Level.WARNING, MessageFormat.format("Interrupted Exception occured while adding message to Shoal MessageQueue :{0}", e.getLocalizedMessage())); } }
public void handleClusterMessage(final SystemAdvertisement adv, final Object message) { MessagePacket msgPkt = new MessagePacket(adv, message); try { //logger.log(Level.FINE, "Received AppMessage Notification, placing in message queue = " + new String(((GMSMessage)message).getMessage())); boolean result = getMsgQueue().offer(msgPkt); if (result == false) { // blocking queue is full. log how long we were blocked. int fullcapacity = getMsgQueue().size(); long starttime = System.currentTimeMillis(); try { getMsgQueue().put(msgPkt); } finally { long duration = System.currentTimeMillis() - starttime; if (duration > 0) { monitorLogger.info("remote message reception blocked due to incoming message queue being full for " + duration + " ms. Message queue capacity: " + fullcapacity); } } } } catch (InterruptedException e) { logger.log(Level.WARNING, MessageFormat.format("Interrupted Exception occured while adding message to Shoal MessageQueue :{0}", e.getLocalizedMessage())); } }