All my beans in the route implement this interface: public interface Handler { EventData handle(EventData data) throws HandlerException; }
They are all exported via camel:export and the following works nicely: <camel:route> <camel:from uri="direct://handle.event" /> <camel:to uri="direct://eventDataLogger"/> <camel:to uri="direct://duplicateEventChecker" /> <camel:to uri="direct://dateTransformation"/> <camel:to uri="direct://userAgentParser" /> <camel:to uri="direct://pageToIdEventAssociation"/> <camel:to uri="direct://bufferedEventInsertAugmentation"/> <camel:to uri="direct://playerStartUpEventAugmentation"/> <camel:to uri="direct://loadStartToPreviousLoadstartAssociation" /> <camel:to uri="direct://insertPlaySuccessAfterTimeupdate" /> <camel:to uri="direct://bufferedEventToPreviousLoadStartAssociation" /> <camel:to uri="direct://mongoDBPersistence"/> </camel:route> In an effort to add some concurrency, I changed all instances of direct:// to vm:// now I am getting: The OUT message was not received within: 30000 millis. Exchange[Message: BeanInvocation public abstract com.mediaplatform.cdc.event.EventData com.mediaplatform.cdc.consumer.process.handler.Handler.handle(com.mediaplatform.cdc.event.EventData) throws com.mediaplatform.cdc.consumer.process.handler.exception.HandlerException with [EventDataImpl{id='null', partitionKey='constant', vd=VariableDataImpl{} {T=pl, ts=2015-04-29T13:31:28.182Z, ua=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36, eid=0973e910-97a5-4f65-99e8-c9d2f92cee1d, av=5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36}}]]] Message History --------------------------------------------------------------------------------------------------------------------------------------- RouteId Pro...Id Processor Elapsed (ms) [route2 ] [route2 ] [vm://handle.event ] [ 30006] [route2 ] [to1 ] [vm://eventDataLogger ] [ 30005] I still want the semantics of result of one handler passed to the next and I want to handle the messages sequentially (without race conditions), however, I wanted to have multiple stops on the route processing messages concurrently as opposed to waiting for a single message to be handled through entire route before starting work on the next message. I kinda envision this as multiple messages bubbling through the route instead of a single message shooting through it one at a time. Is there a different pattern that I should try? Thanks. -AP_ -- View this message in context: http://camel.465427.n5.nabble.com/org-apache-camel-ExchangeTimedOutException-The-OUT-message-was-not-received-within-30000-millis-tp5766508.html Sent from the Camel - Users mailing list archive at Nabble.com.