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

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


The following commit(s) were added to refs/heads/activemq-5.15.x by this push:
     new 1daf347  [AMQ-7424] Prevent NPE during commitRemove() on JDBC adapter
1daf347 is described below

commit 1daf347f90286c880c160ec136e07d133b424503
Author: jbonofre <[email protected]>
AuthorDate: Thu Feb 27 21:21:47 2020 +0100

    [AMQ-7424] Prevent NPE during commitRemove() on JDBC adapter
    
    (cherry picked from commit d8ae8734a9f6da41e206d33322048aedf5491e8e)
---
 .../java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapter.java   | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git 
a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapter.java
 
b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapter.java
index a6ad870..38a2772 100644
--- 
a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapter.java
+++ 
b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/JDBCPersistenceAdapter.java
@@ -792,7 +792,9 @@ public class JDBCPersistenceAdapter extends 
DataSourceServiceSupport implements
     public void commitRemove(ConnectionContext context, MessageAck ack) throws 
IOException {
         TransactionContext c = getTransactionContext(context);
         try {
-            getAdapter().doRemoveMessage(c, 
(Long)ack.getLastMessageId().getFutureOrSequenceLong(), null);
+            if (getAdapter() != null && c != null && ack != null && 
ack.getLastMessageId() != null && 
ack.getLastMessageId().getFutureOrSequenceLong() != null) {
+                getAdapter().doRemoveMessage(c, (Long) 
ack.getLastMessageId().getFutureOrSequenceLong(), null);
+            }
         } catch (SQLException e) {
             JDBCPersistenceAdapter.log("JDBC Failure: ", e);
             throw IOExceptionSupport.create("Failed to commit last ack: " + 
ack + ". Reason: " + e,e);

Reply via email to