You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Atanas Shindov <at...@gmail.com> on 2014/10/27 17:47:09 UTC

Forcing Camel to use synchronous processing

Hi guys,

according to the  Asynchronous routing engine
<http://camel.apache.org/asynchronous-routing-engine.html>   documentation
page Camel can be forced to use synchronous processing via the
synchronous=true option. The  DefaultEndpoint
<http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/DefaultEndpoint.html#isSynchronous()>  
class has a isSynchronous() method which basically returns the value
provided by the client or false as a default value. The Javadoc says that
"Components which leverages asynchronous processing model should check the
isSynchronous() to determine if asynchronous processing is allowed". 

However, when I try to search for Camel classes using this particular method
I get the following results (I have camel-jms on my classpath):
- org.apache.camel.component.jms.EndpointMessageListener#onMessage()
- org.apache.camel.component.jms.JmsEndpoint#createProducer()
- org.apache.camel.component.timer.TimerConsumer#sendTimerExchange()

Which means: JMS (producer and consumer) and timer (consumer, core
component). But what about the other Camel core components which support the
asynchronous mode, e.g. file, direct-vm? Why aren't they using this getter
to determine the mode specified by clients? is this expected or should I
report bugs for those two components?

Best regards,
Atanas



--
View this message in context: http://camel.465427.n5.nabble.com/Forcing-Camel-to-use-synchronous-processing-tp5758113.html
Sent from the Camel - Users mailing list archive at Nabble.com.