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/02/29 06:10:02 UTC

[activemq] branch master updated: [AMQ-7424] Prevent NPE during commitRemove() on JDBC adapter

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 d8ae873  [AMQ-7424] Prevent NPE during commitRemove() on JDBC adapter
     new 80d06fc  Merge pull request #481 from jbonofre/AMQ-7424
d8ae873 is described below

commit d8ae8734a9f6da41e206d33322048aedf5491e8e
Author: jbonofre <jb...@apache.org>
AuthorDate: Thu Feb 27 21:21:47 2020 +0100

    [AMQ-7424] Prevent NPE during commitRemove() on JDBC adapter
---
 .../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 7389aef..8430328 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
@@ -800,7 +800,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().getEntryLocator(), null);
+            if (c != null && ack != null && ack.getLastMessageId() != null && ack.getLastMessageId().getEntryLocator() != null) {
+                getAdapter().doRemoveMessage(c, (Long) ack.getLastMessageId().getEntryLocator(), null);
+            }
         } catch (SQLException e) {
             JDBCPersistenceAdapter.log("JDBC Failure: ", e);
             throw IOExceptionSupport.create("Failed to commit last ack: " + ack + ". Reason: " + e,e);