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 <[email protected]>
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);

Reply via email to