diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index 8c3f2a8c..39eaf46c 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -353,6 +353,9 @@ public class MemoryMessagesStore implements IMessagesStore { size += bundle.getMessage().getSerializedSize(); if (size >= 512 * 1024) { //3M + if(builder.getMessageCount() == 0){ + builder.addMessage(bundle.getMessage()); + } break; } builder.addMessage(bundle.getMessage()); @@ -1996,7 +1999,7 @@ public class MemoryMessagesStore implements IMessagesStore { } else { state = 0; } - + HazelcastInstance hzInstance = m_Server.getHazelcastInstance(); MultiMap friendsMap = hzInstance.getMultiMap(USER_FRIENDS); @@ -2642,7 +2645,7 @@ public class MemoryMessagesStore implements IMessagesStore { } return UUIDGenerator.getUUID(); } - + @Override public void storeRetained(Topic topic, StoredMessage storedMessage) { LOG.debug("Store retained message for topic={}, CId={}", topic, storedMessage.getClientID());