Hi,
Thanks for the answer. Still, with the <xpath>$foo = 'bar'</xpath> approach can
one refer to the message headers ? I've tried it but only to get [Fatal Error]
:1:1: Content is not allowed in prolog. Sure it is due to my message *not*
being XML.
Still, what I am trying to find is the XML conf equivalent to this kinda
DSL(which already works) :
from("activemq:QUEUE_HL7MGMADT_OUT").
to("activemq:QUEUE_ALLPGMADTS_IN");
from("activemq:QUEUE_ALLPGMADTS_OUT").choice().
when(header("msgAppFrom").isEqualTo("HOST1")).
to("activemq:QUEUE_HL7MGMADT_IN").
otherwise().
to("activemq:QUEUE_HOSPITAL_IN");
Thanks in advance
Daniel
Willem Jiang <[EMAIL PROTECTED]> wrote: Here is an test[1] in the camel-spring
unit test is same for your case :)
The $foo = 'bar' is expression for checking the header
foo isequals to bar.
And this feature was added in Camel 1.3.0.
[1]https://svn.apache.org/repos/asf/activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/choice.xml
Willem
Daniel Nebot wrote:
> Hi,
>
> I am very new to Camel and as soon as I have included a slightly more complex
> route I got a NullPointerException. I will be very grateful if somebody could
> have a look at the console output and point out any hints.
>
> The route is:
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> The output is:
> ACTIVEMQ_HOME: C:\Program Files\apache-activemq-5.1.0\bin\..
> ACTIVEMQ_BASE: C:\Program Files\apache-activemq-5.1.0\bin\..
> Loading message broker from: xbean:activemq.xml
> INFO BrokerService - Using Persistence Adapter:
> AMQPersistence
> Adapter(C:\Program Files\apache-activemq-5.1.0\bin\..\data)
> INFO BrokerService - ActiveMQ 5.1.0 JMS Message Broker
> (localh
> ost) is starting
> INFO BrokerService - For help or more information please
> see:
> http://activemq.apache.org/
> INFO AMQPersistenceAdapter - AMQStore starting using directory:
> C:\Pro
> gram Files\apache-activemq-5.1.0\bin\..\data
> INFO KahaStore - Kaha Store using data directory
> C:\Progra
> m Files\apache-activemq-5.1.0\bin\..\data\kr-store\state
> INFO AMQPersistenceAdapter - Active data files: [1]
> INFO KahaStore - Kaha Store using data directory
> C:\Progra
> m Files\apache-activemq-5.1.0\bin\..\data\kr-store\data
> INFO TransportServerThreadSupport - Listening for connections at:
> tcp://pc911
> 830016168:61616
> INFO TransportConnector - Connector openwire Started
> INFO TransportServerThreadSupport - Listening for connections at:
> ssl://pc911
> 830016168:61617
> INFO TransportConnector - Connector ssl Started
> INFO TransportServerThreadSupport - Listening for connections at:
> stomp://pc9
> 11830016168:61613
> INFO TransportConnector - Connector stomp Started
> INFO TransportServerThreadSupport - Listening for connections at:
> xmpp://pc91
> 1830016168:61222
> INFO TransportConnector - Connector xmpp Started
> INFO NetworkConnector - Network Connector default-nc Started
> INFO BrokerService - ActiveMQ JMS Message Broker
> (localhost, I
> D:pc911830016168-4261-1211802211218-0:0) started
> INFO log - Logging to
> org.slf4j.impl.JCLLoggerAdapte
> r(org.mortbay.log) via org.mortbay.log.Slf4jLog
> INFO log - jetty-6.1.9
> INFO WebConsoleStarter - ActiveMQ WebConsole initialized.
> INFO /admin - Initializing Spring FrameworkServlet
> 'dis
> patcher'
> INFO log - ActiveMQ Console at
> http://0.0.0.0:8161/a
> dmin
> INFO log - ActiveMQ Web Demos at
> http://0.0.0.0:8161
> /demo
> INFO log - RESTful file access application at
> http:/
> /0.0.0.0:8161/fileserver
> INFO log - Started [EMAIL PROTECTED]:81
> 61
> ERROR: java.lang.RuntimeException: Failed to execute start task. Reason:
> java.la
> ng.NullPointerException
> java.lang.RuntimeException: Failed to execute start task. Reason:
> java.lang.Null
> PointerException
> at
> org.apache.activemq.console.command.StartCommand.runTask(StartCommand
> .java:98)
> at
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractC
> ommand.java:57)
> at
> org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand
> .java:129)
> at
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractC
> ommand.java:57)
> at
> org.apache.activemq.console.command.ShellCommand.main(ShellCommand.ja
> va:79)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.activemq.console.Main.runTaskClass(Main.java:222)
> at org.apache.activemq.console.Main.main(Main.java:106)
> Caused by: java.lang.NullPointerException
> at
> org.apache.camel.model.ExpressionNode.createFilterProcessor(Expressio
> nNode.java:91)
> at org.apache.camel.model.WhenType.createProcessor(WhenType.java:49)
> at
> org.apache.camel.model.ChoiceType.createProcessor(ChoiceType.java:57)
>
> at
> org.apache.camel.model.ProcessorType.makeProcessor(ProcessorType.java
> :1387)
> at
> org.apache.camel.model.ProcessorType.addRoutes(ProcessorType.java:95)
>
> at org.apache.camel.model.RouteType.addRoutes(RouteType.java:189)
> at org.apache.camel.model.RouteType.addRoutes(RouteType.java:83)
> at
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(Defau
> ltCamelContext.java:438)
> at
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext
> .java:430)
> at
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext
> .java:148)
> at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
> at
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringC
> amelContext.java:102)
> at
> org.springframework.context.event.SimpleApplicationEventMulticaster$1
> .run(SimpleApplicationEventMulticaster.java:78)
> at
> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecut
> or.java:49)
> at
> org.springframework.context.event.SimpleApplicationEventMulticaster.m
> ulticastEvent(SimpleApplicationEventMulticaster.java:76)
> at
> org.springframework.context.support.AbstractApplicationContext.publis
> hEvent(AbstractApplicationContext.java:260)
> at
> org.springframework.context.support.AbstractApplicationContext.finish
> Refresh(AbstractApplicationContext.java:744)
> at
> org.springframework.context.support.AbstractApplicationContext.refres
> h(AbstractApplicationContext.java:372)
> at org.apache.xbean.spring.context.ResourceXmlApplicationContext.(
> ResourceXmlApplicationContext.java:64)
> at org.apache.xbean.spring.context.ResourceXmlApplicationContext.(
> ResourceXmlApplicationContext.java:52)
> at
> org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext
> (XBeanBrokerFactory.java:96)
> at
> org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBroker
> Factory.java:52)
> at
> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.j
> ava:71)
> at
> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.j
> ava:54)
> at
> org.apache.activemq.console.command.StartCommand.startBroker(StartCom
> mand.java:111)
> at
> org.apache.activemq.console.command.StartCommand.runTask(StartCommand
> .java:73)
> ... 10 more
> ERROR: java.lang.Exception: java.lang.NullPointerException
> java.lang.Exception: java.lang.NullPointerException
> at
> org.apache.activemq.console.command.StartCommand.runTask(StartCommand
> .java:99)
> at
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractC
> ommand.java:57)
> at
> org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand
> .java:129)
> at
> org.apache.activemq.console.command.AbstractCommand.execute(AbstractC
> ommand.java:57)
> at
> org.apache.activemq.console.command.ShellCommand.main(ShellCommand.ja
> va:79)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.activemq.console.Main.runTaskClass(Main.java:222)
> at org.apache.activemq.console.Main.main(Main.java:106)
> Caused by: java.lang.NullPointerException
> at
> org.apache.camel.model.ExpressionNode.createFilterProcessor(Expressio
> nNode.java:91)
> at org.apache.camel.model.WhenType.createProcessor(WhenType.java:49)
> at
> org.apache.camel.model.ChoiceType.createProcessor(ChoiceType.java:57)
>
> at
> org.apache.camel.model.ProcessorType.makeProcessor(ProcessorType.java
> :1387)
> at
> org.apache.camel.model.ProcessorType.addRoutes(ProcessorType.java:95)
>
> at org.apache.camel.model.RouteType.addRoutes(RouteType.java:189)
> at org.apache.camel.model.RouteType.addRoutes(RouteType.java:83)
> at
> org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(Defau
> ltCamelContext.java:438)
> at
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext
> .java:430)
> at
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext
> .java:148)
> at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:47)
> at
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringC
> amelContext.java:102)
> at
> org.springframework.context.event.SimpleApplicationEventMulticaster$1
> .run(SimpleApplicationEventMulticaster.java:78)
> at
> org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecut
> or.java:49)
> at
> org.springframework.context.event.SimpleApplicationEventMulticaster.m
> ulticastEvent(SimpleApplicationEventMulticaster.java:76)
> at
> org.springframework.context.support.AbstractApplicationContext.publis
> hEvent(AbstractApplicationContext.java:260)
> at
> org.springframework.context.support.AbstractApplicationContext.finish
> Refresh(AbstractApplicationContext.java:744)
> at
> org.springframework.context.support.AbstractApplicationContext.refres
> h(AbstractApplicationContext.java:372)
> at org.apache.xbean.spring.context.ResourceXmlApplicationContext.(
> ResourceXmlApplicationContext.java:64)
> at org.apache.xbean.spring.context.ResourceXmlApplicationContext.(
> ResourceXmlApplicationContext.java:52)
> at
> org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext
> (XBeanBrokerFactory.java:96)
> at
> org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBroker
> Factory.java:52)
> at
> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.j
> ava:71)
> at
> org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.j
> ava:54)
> at
> org.apache.activemq.console.command.StartCommand.startBroker(StartCom
> mand.java:111)
> at
> org.apache.activemq.console.command.StartCommand.runTask(StartCommand
> .java:73)
> ... 10 more
>
> Cheers
> Daniel
>