Hello, Today I encounter a strange situation with my project so could you please explain what's the difference between :
<wireTap uri="vm:savePayload" /> (asynchrone to asynchrone component) and <to uri="vm:savePayload" /> (synchrone to asynchrone component) and <wireTap uri="direct-vm:savePayload" /> (asynchrone to synchrone component) As the name suggests, I need to save the payload of my route. A dedicated bundle has this responsability. When a route starts with <from uri="direct:ws2jms"> everything is ok with any of the three above solution. But when a route starts with <from uri="vm:jms2ws"> I strangely noticed that after the call to the instruction <to uri="vm:savePayload" /> I m not able to retrieve properties from my .cfg file with this instruction exchange.getContext().resolvePropertyPlaceholders("{{http.port}} in a bean I got an IllegalArgumentException with this stacktrace : Stacktrace --------------------------------------------------------------------------------------------------------------------------------------- java.lang.IllegalArgumentException: Property with key [http.port] not found in properties from text: {{http.port}} at org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.getPropertyValue(DefaultPropertiesParser.java:268) at org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.readProperty(DefaultPropertiesParser.java:154) at org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.doParse(DefaultPropertiesParser.java:113) at org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.parse(DefaultPropertiesParser.java:97) at org.apache.camel.component.properties.DefaultPropertiesParser.parseUri(DefaultPropertiesParser.java:62) at org.apache.camel.component.properties.PropertiesComponent.parseUri(PropertiesComponent.java:209) at org.apache.camel.component.properties.PropertiesComponent.parseUri(PropertiesComponent.java:160) at org.apache.camel.impl.DefaultCamelContext.resolvePropertyPlaceholders(DefaultCamelContext.java:2348) at com.oxit.flow.manager.TraceGeneratorManager.setTrace(TraceGeneratorManager.java:47) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_65] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_65] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_65] at java.lang.reflect.Method.invoke(Method.java:497)[:1.8.0_65] at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:458)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:289)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:262)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:178)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:542)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.Pipeline.process(Pipeline.java:120)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:97)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.OnCompletionProcessor.doProcess(OnCompletionProcessor.java:151)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.OnCompletionProcessor$OnCompletionSynchronizationAfterConsumer.onComplete(OnCompletionProcessor.java:248)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.util.UnitOfWorkHelper.doneSynchronizations(UnitOfWorkHelper.java:104)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.impl.DefaultUnitOfWork.done(DefaultUnitOfWork.java:230)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.util.UnitOfWorkHelper.doneUow(UnitOfWorkHelper.java:65)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.CamelInternalProcessor$UnitOfWorkProcessorAdvice.after(CamelInternalProcessor.java:674)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.CamelInternalProcessor$UnitOfWorkProcessorAdvice.after(CamelInternalProcessor.java:629)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.CamelInternalProcessor$InternalCallback.done(CamelInternalProcessor.java:246)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.CamelInternalProcessor$InternalCallback.done(CamelInternalProcessor.java:257)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:573)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:298)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:207)[175:org.apache.camel.camel-core:2.18.1] at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:154)[175:org.apache.camel.camel-core:2.18.1] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_65] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_65] at java.lang.Thread.run(Thread.java:745)[:1.8.0_65] I precise that I don't encounter this situation when my route starts with <from uri="direct:ws2jms"> So the solution to me is to use the wireTap component. But why the IllegalArgumentException when the route starts with a direct component? Is it related to the Exception ? What's the difference between wireTap uri="vm:blabla" /> (double asynchrone) and <wireTap uri="direct-vm:blabla"> (simple asynchrone) ? Thank you!! Thank you -- View this message in context: http://camel.465427.n5.nabble.com/synchrone-and-asynchrone-question-tp5792346.html Sent from the Camel - Users mailing list archive at Nabble.com.