You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2007/03/22 14:44:27 UTC
svn commit: r521262 -
/incubator/servicemix/branches/servicemix-3.1/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/JMSFlow.java
Author: gnodet
Date: Thu Mar 22 06:44:26 2007
New Revision: 521262
URL: http://svn.apache.org/viewvc?view=rev&rev=521262
Log:
SM-893: Fix synchronization problems in JMS flow
Modified:
incubator/servicemix/branches/servicemix-3.1/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/JMSFlow.java
Modified: incubator/servicemix/branches/servicemix-3.1/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/JMSFlow.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/branches/servicemix-3.1/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/JMSFlow.java?view=diff&rev=521262&r1=521261&r2=521262
==============================================================================
--- incubator/servicemix/branches/servicemix-3.1/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/JMSFlow.java (original)
+++ incubator/servicemix/branches/servicemix-3.1/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/JMSFlow.java Thu Mar 22 06:44:26 2007
@@ -393,7 +393,9 @@
if (broadcast) {
log.debug(broker.getContainer().getName() + ": broadcasting info for " + event);
ObjectMessage msg = broadcastSession.createObjectMessage(event);
- topicProducer.send(msg);
+ synchronized (topicProducer) {}
+ topicProducer.send(msg);
+ }
}
} catch (Exception e) {
log.error("Cannot create consumer for " + event.getEndpoint(), e);
@@ -410,7 +412,9 @@
if (broadcast) {
ObjectMessage msg = broadcastSession.createObjectMessage(event);
log.debug(broker.getContainer().getName() + ": broadcasting info for " + event);
- topicProducer.send(msg);
+ synchronized (topicProducer) {}
+ topicProducer.send(msg);
+ }
}
} catch (Exception e) {
log.error("Cannot destroy consumer for " + event, e);
@@ -504,7 +508,9 @@
Queue queue = inboundSession.createQueue(destination);
ObjectMessage msg = inboundSession.createObjectMessage(me);
- queueProducer.send(queue, msg);
+ synchronized (queueProducer) {}
+ queueProducer.send(queue, msg);
+ }
} catch (JMSException e) {
log.error("Failed to send exchange: " + me + " internal JMS Network", e);
throw new MessagingException(e);