Author: hadrian
Date: Mon Apr 21 21:26:05 2008
New Revision: 650379

URL: http://svn.apache.org/viewvc?rev=650379&view=rev
Log:
Fix thread safety issue.

Modified:
    
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java

Modified: 
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
URL: 
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java?rev=650379&r1=650378&r2=650379&view=diff
==============================================================================
--- 
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
 (original)
+++ 
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsComponent.java
 Mon Apr 21 21:26:05 2008
@@ -58,7 +58,7 @@
     private static final String DEFAULT_QUEUE_BROWSE_STRATEGY = 
"org.apache.camel.component.jms.DefaultQueueBrowseStrategy";
     private JmsConfiguration configuration;
     private ApplicationContext applicationContext;
-    private Requestor requestor;
+    private volatile Requestor requestor;
     private QueueBrowseStrategy queueBrowseStrategy;
     private boolean attemptedToCreateQueueBrowserStrategy;
 
@@ -314,8 +314,10 @@
 
     public synchronized Requestor getRequestor() throws Exception {
         if (requestor == null) {
-            requestor = new Requestor(getConfiguration(), 
getExecutorService());
-            requestor.start();
+               synchronized (this) {
+                requestor = new Requestor(getConfiguration(), 
getExecutorService());
+                requestor.start();
+               }
         }
         return requestor;
     }


Reply via email to