From f8153d68e8a06939d4357b3eab609b4cfbad2497 Mon Sep 17 00:00:00 2001 From: heavyrain2012 Date: Mon, 12 Jul 2021 15:54:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=8E=B7=E5=8F=96=E5=8E=9F?= =?UTF-8?q?=E5=88=9B=E6=B6=88=E6=81=AF=E6=8F=AD=E7=A7=98=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/moquette/persistence/DatabaseStore.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/broker/src/main/java/io/moquette/persistence/DatabaseStore.java b/broker/src/main/java/io/moquette/persistence/DatabaseStore.java index 614794dc..d8d25825 100644 --- a/broker/src/main/java/io/moquette/persistence/DatabaseStore.java +++ b/broker/src/main/java/io/moquette/persistence/DatabaseStore.java @@ -873,7 +873,17 @@ public class DatabaseStore { builder.setConversation(cb.build()); Blob blob = resultSet.getBlob(index++); - WFCMessage.MessageContent messageContent = WFCMessage.MessageContent.parseFrom(encryptMessageContent(toByteArray(blob.getBinaryStream()), false)); + WFCMessage.MessageContent messageContent; + try { + messageContent = WFCMessage.MessageContent.parseFrom(encryptMessageContent(toByteArray(blob.getBinaryStream()), false)); + } catch (InvalidProtocolBufferException e) { + if(encryptMessage) { + messageContent = WFCMessage.MessageContent.parseFrom(blob.getBinaryStream()); + } else { + messageContent = WFCMessage.MessageContent.parseFrom(encryptMessageContent(toByteArray(blob.getBinaryStream()), true)); + } + } + builder.setContent(messageContent); builder.setServerTimestamp(resultSet.getTimestamp(index++).getTime());