You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2021/08/20 20:33:29 UTC
[activemq-artemis] branch main updated: ARTEMIS-3422 mitigate NPE
for audit logging
This is an automated email from the ASF dual-hosted git repository.
clebertsuconic pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/main by this push:
new c8d71cb ARTEMIS-3422 mitigate NPE for audit logging
new eb73709 This closes #3705
c8d71cb is described below
commit c8d71cbebc2a109bd3256c1d8f405b8ea31a1c50
Author: Justin Bertram <jb...@apache.org>
AuthorDate: Fri Aug 20 14:12:43 2021 -0500
ARTEMIS-3422 mitigate NPE for audit logging
---
.../org/apache/activemq/artemis/core/server/impl/QueueImpl.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
index 7c73aee..6b5106f 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java
@@ -1902,8 +1902,12 @@ public class QueueImpl extends CriticalComponentImpl implements Queue {
}
if (AuditLogger.isMessageLoggingEnabled()) {
- ServerSession session = server.getSessionByID(consumer.getSessionID());
- AuditLogger.coreAcknowledgeMessage(session.getRemotingConnection().getAuditSubject(), session.getRemotingConnection().getRemoteAddress(), getName().toString(), ref.getMessage().toString());
+ ServerSession session = null;
+ // it's possible for the consumer to be null (e.g. acking the message administratively)
+ if (consumer != null) {
+ session = server.getSessionByID(consumer.getSessionID());
+ }
+ AuditLogger.coreAcknowledgeMessage(session == null ? null : session.getRemotingConnection().getAuditSubject(), session == null ? null : session.getRemotingConnection().getRemoteAddress(), getName().toString(), ref.getMessage().toString());
}
if (server != null && server.hasBrokerMessagePlugins()) {
server.callBrokerMessagePlugins(plugin -> plugin.messageAcknowledged(ref, reason, consumer));