From dae5d032fa5b7454289d6a91dc6d7aa31fb4aa61 Mon Sep 17 00:00:00 2001 From: "heavyrain.lee" Date: Fri, 9 Aug 2019 13:44:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8B=89=E5=8F=96=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E6=B6=88=E6=81=AF=E5=BC=80=E5=85=B3=E3=80=82=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E9=BB=98=E8=AE=A4=E6=B6=88=E6=81=AF=E6=BC=AB=E6=B8=B8?= =?UTF-8?q?=E5=92=8C=E6=8B=89=E5=8F=96=E9=83=BD=E4=B8=BA=E5=85=B3=E9=97=AD?= =?UTF-8?q?=EF=BC=8C=E8=BF=99=E6=A0=B7=E6=97=A0=E6=B3=95=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=B0=B1=E4=B8=8D=E4=BC=9A=E5=86=8D=E5=87=BA?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- broker/config/wildfirechat.conf | 5 ++++- broker/src/main/java/io/moquette/BrokerConstants.java | 1 + .../io/moquette/persistence/MemoryMessagesStore.java | 10 +++++++++- distribution/src/main/resources/wildfirechat.conf | 5 ++++- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/broker/config/wildfirechat.conf b/broker/config/wildfirechat.conf index 692cf31d..1ea1e86f 100755 --- a/broker/config/wildfirechat.conf +++ b/broker/config/wildfirechat.conf @@ -43,7 +43,10 @@ client.proto.secret_key 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x78,0x79,0x7A,0 token.key testim ##首次登录,是否接收之前的历史消息。0 不接收;1接收。 -message.roaming 1 +message.roaming 0 + +##是否开启拉取远程历史消息 +message.remote_history_message 0 #********************************************************************* # hazelcase configuration diff --git a/broker/src/main/java/io/moquette/BrokerConstants.java b/broker/src/main/java/io/moquette/BrokerConstants.java index 4a94b440..73e758de 100755 --- a/broker/src/main/java/io/moquette/BrokerConstants.java +++ b/broker/src/main/java/io/moquette/BrokerConstants.java @@ -111,6 +111,7 @@ public final class BrokerConstants { public static final String MONGODB_Data_Expire_Days = "mongodb.data_expire_days"; public static final String MESSAGE_ROAMING = "message.roaming"; + public static final String MESSAGE_Remote_History_Message = "message.reomte_history_message"; private BrokerConstants() { diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index c34be91a..e7cdb9a4 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -85,6 +85,8 @@ public class MemoryMessagesStore implements IMessagesStore { private static boolean IS_MESSAGE_ROAMING = true; + private static boolean IS_MESSAGE_REMOTE_HISTORY_MESSAGE = true; + static final String USER_ROBOTS = "user_robots"; static final String USER_THINGS = "user_things"; @@ -119,6 +121,7 @@ public class MemoryMessagesStore implements IMessagesStore { m_Server = server; this.databaseStore = databaseStore; IS_MESSAGE_ROAMING = "1".equals(m_Server.getConfig().getProperty(MESSAGE_ROAMING)); + IS_MESSAGE_REMOTE_HISTORY_MESSAGE = "1".equals(m_Server.getConfig().getProperty(MESSAGE_Remote_History_Message)); } @Override @@ -370,7 +373,12 @@ public class MemoryMessagesStore implements IMessagesStore { @Override public WFCMessage.PullMessageResult loadRemoteMessages(String user, WFCMessage.Conversation conversation, long beforeUid, int count) { WFCMessage.PullMessageResult.Builder builder = WFCMessage.PullMessageResult.newBuilder(); - List messages = databaseStore.loadRemoteMessages(user, conversation, beforeUid, count); + List messages; + if (IS_MESSAGE_REMOTE_HISTORY_MESSAGE) { + messages = databaseStore.loadRemoteMessages(user, conversation, beforeUid, count); + } else { + messages = new ArrayList<>(); + } builder.setCurrent(0).setHead(0); if(messages != null) { builder.addAllMessage(messages); diff --git a/distribution/src/main/resources/wildfirechat.conf b/distribution/src/main/resources/wildfirechat.conf index 2df20132..c455ad62 100755 --- a/distribution/src/main/resources/wildfirechat.conf +++ b/distribution/src/main/resources/wildfirechat.conf @@ -43,7 +43,10 @@ client.proto.secret_key 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x78,0x79,0x7A,0 token.key testim ##首次登录,是否接收之前的历史消息。0 不接收;1接收。 -message.roaming 1 +message.roaming 0 + +##是否开启拉取远程历史消息 +message.remote_history_message 0 #********************************************************************* # hazelcase configuration