You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2020/03/03 16:13:09 UTC

[activemq] branch master updated: [AMQ-7394] Simple first fix to use listener.hasSpace() when recovering message from JDBC message store

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq.git


The following commit(s) were added to refs/heads/master by this push:
     new dcd3d5d  [AMQ-7394] Simple first fix to use listener.hasSpace() when recovering message from JDBC message store
     new b9426d6  Merge pull request #494 from jbonofre/AMQ-7394
dcd3d5d is described below

commit dcd3d5db3f14fbdb74d9595360033988405cce79
Author: jbonofre <jb...@apache.org>
AuthorDate: Tue Mar 3 06:20:51 2020 +0100

    [AMQ-7394] Simple first fix to use listener.hasSpace() when recovering message from JDBC message store
---
 .../main/java/org/apache/activemq/store/jdbc/JDBCMessageStore.java  | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCMessageStore.java b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCMessageStore.java
index 75c0751..0aa7efa 100644
--- a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCMessageStore.java
+++ b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCMessageStore.java
@@ -367,13 +367,17 @@ public class JDBCMessageStore extends AbstractMessageStore {
 
                 @Override
                 public boolean recoverMessage(long sequenceId, byte[] data) throws Exception {
-                        Message msg = (Message)wireFormat.unmarshal(new ByteSequence(data));
+                    if (listener.hasSpace()) {
+                        Message msg = (Message) wireFormat.unmarshal(new ByteSequence(data));
                         msg.getMessageId().setBrokerSequenceId(sequenceId);
                         msg.getMessageId().setFutureOrSequenceLong(sequenceId);
                         msg.getMessageId().setEntryLocator(sequenceId);
                         listener.recoverMessage(msg);
                         trackLastRecovered(sequenceId, msg.getPriority());
                         return true;
+                    } else {
+                        return false;
+                    }
                 }
 
                 @Override