private void push(Message message) { ReadWriteBuffer<Message> buffer = this.buffer; if (buffer != null) { LOGGER.trace("[{}] push({})", consumerId, message); if (buffer.put(message) != null) { // notify the loss of messages if the ring buffer is full if (full == null) { full = new ContextualNotification( topologyService .getEntityContext(topologyService.getCurrentServerName(), consumerId) .get(), "LOST_MESSAGES"); } buffer.put(new DefaultMessage(nextSequence(), "NOTIFICATION", full)); } } }