What version of Camel do you use On Tue, Jan 10, 2017 at 11:22 AM, bdeweer <bertrand.dew...@gmail.com> wrote: > 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.
-- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2