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

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

commit b2d40b716d2fbee1a9101c43a8de9e202647644d
Author: Michael André Pearce <michael.andre.pea...@me.com>
AuthorDate: Fri Jan 18 08:16:10 2019 +0000

    NO-JIRA Fix double check locking in ActiveMQJMSContext
    
    Double checked locking was operating on a non-volatile field this is not 
threadsafe, make field volatile.
---
 .../org/apache/activemq/artemis/jms/client/ActiveMQJMSContext.java     | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQJMSContext.java
 
b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQJMSContext.java
index 7a6c9ef..ae3ab5d 100644
--- 
a/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQJMSContext.java
+++ 
b/artemis-jms-client/src/main/java/org/apache/activemq/artemis/jms/client/ActiveMQJMSContext.java
@@ -58,7 +58,7 @@ public class ActiveMQJMSContext implements JMSContext {
    private volatile Message lastMessagesWaitingAck;
 
    private final ActiveMQConnectionForContext connection;
-   private Session session;
+   private volatile Session session;
    private boolean autoStart = ActiveMQJMSContext.DEFAULT_AUTO_START;
    private MessageProducer innerProducer;
    private boolean xa;
@@ -91,6 +91,7 @@ public class ActiveMQJMSContext implements JMSContext {
    }
 
    public Session getSession() {
+      checkSession();
       return session;
    }
 

Reply via email to