Prabu, There's a note on the Camel website about a potential compiler error when using "otherwise()", along with a workaround. Unfortunately, I can't find it now.
On the other hand, I think this might work: from("direct:start") .choice().when(header("Type").isNotNull()) .recipientList(simple("activemq.Inbound.${header.Type}")) .end() // <=== added this to close "when" block .otherwise() .to("activemq:queue:Invalid.queue") .endChoice(); N.B. this only solved compilation - I didn't actually do a runtime test. -Chris On Mon, Apr 1, 2013 at 7:18 AM, prabumc...@gmail.com <prabumc...@gmail.com> wrote: > Chris,The following code worked fine. > > .choice().when(header("Type").isNotNull()) > .recipientList(simple("activemq.Inbound.${header.Type}")) > .endChoice() > > but,one issue is that.I added *.otherwise()* , it giving error. > > .choice().when(header("Type").isNotNull()) > .recipientList(simple("activemq.Inbound.${header.Type}")) > *.otherwise() > .to("activemq:queue:Invalid.queue")* > .endChoice(); > > please kindly help me. > > > > On Mon, Apr 1, 2013 at 2:32 PM, Prabu <prabumc...@gmail.com> wrote: > >> Like Chris suggest i tried below way >> >> >> .when(header("TYPE").isNotNull()) >> .to("activemq:queue.Inbound.${header.Type}") >> >> >> But queue created *${header.Type}* like this not *Inbound.test* >> >> Please kindly give me example. >> >> *Regards* >> Prabu.N >> >> >> >> On Mon, Apr 1, 2013 at 2:03 PM, Claus Ibsen-2 [via Camel] < >> ml-node+s465427n5730152...@n5.nabble.com> wrote: >> >>> Hi >>> >>> See this EIP >>> http://camel.apache.org/content-enricher.html >>> >>> About pollEnrich. >>> >>> Though pollEnrich currently does support dynamic uris. Its on the >>> roadmap, >>> for Camel 3.0. >>> It requires an API change and thus isn't so easy to implement currently >>> on >>> 2.x. >>> >>> You can always use a java bean / camel processor, and consume the ftp >>> file >>> from java code. >>> For example using consumer template. >>> >>> As you use FTP you may want to set disconnect=true so the connect is not >>> remained open after usage. >>> >>> >>> >>> On Sun, Mar 31, 2013 at 7:51 PM, Chris Wolf <[hidden >>> email]<http://user/SendEmail.jtp?type=node&node=5730152&i=0>> >>> wrote: >>> >>> > Ok, I'm starting to get it - a little bit. As for my concrete >>> > example, so far, I have: >>> > >>> > from("direct:start") >>> > .beanRef("config") >>> > .convertBodyTo(Document.class) >>> > .recipientList().xquery( >>> > "concat('ftp://'" + >>> > ",//remote[vendorId/@value='CBOE34']/server/@value" >>> + >>> > >>> > >>> > >>> ",//remote[vendorId/@value='CBOE34']/param[name/@value='directory']/value/@value" >>> >>> > + >>> > ",'?noop=true&username='" + >>> > >>> ",//remote[vendorId/@value='CBOE34']/username/@value" + >>> > ",'&password='" + >>> > >>> > ",//remote[vendorId/@value='CBOE34']/password/@value)", String.class); >>> > >>> > Here's the problem - this will create an FTP Producer - that's not >>> > what I need. I need a dynamically >>> > constructed URI for a polling FTP consumer. I don't think >>> > "recipientList" will work... Any ideas? >>> > >>> > Thanks, >>> > >>> > Chris >>> > >>> > On Sun, Mar 31, 2013 at 10:27 AM, Chris Wolf <[hidden >>> > email]<http://user/SendEmail.jtp?type=node&node=5730152&i=1>> >>> wrote: >>> > > Hi Claus, >>> > > >>> > > I hate to ask this - but I still don't get it. I thought >>> > > "recipientList" was for sending to multiple, runtime-defined >>> > > recipients. I don't see how this >>> > > answers the question of sending to one, single recipient, whose URI >>> is >>> > > dynamically constructed - and in my use-case the dynamic settings >>> > > are not in properties - so "simple" (property place-holders) won't >>> help >>> > me. >>> > > >>> > > Let me give you a concrete example. I need to do an ftp download and >>> > > the connection information comes from up-stream in the route in the >>> > > form of XML (DOM - a Document instance). Currently, I am trying to >>> do >>> > > this with bean binding and method params decorated with @XPath >>> > > pointing into the Document with the ftp settings and inside the >>> > > this method doing: >>> > > >>> > > FtpComponent ftpComponent = context.getComponent("ftp", >>> > FtpComponent.class); >>> > > >>> > > ..and then attempt to get the endpoint and call createConsumer(...). >>> > > I'm sure this is not the right way to do it, but I don't see how else >>> > > - any ideas? >>> > > >>> > > Thanks, >>> > > >>> > > >>> > > Chris >>> > > >>> > > On Sun, Mar 31, 2013 at 2:28 AM, Claus Ibsen <[hidden >>> > > email]<http://user/SendEmail.jtp?type=node&node=5730152&i=2>> >>> >>> > wrote: >>> > >> Hi >>> > >> >>> > >> See this FAQ >>> > >> http://camel.apache.org/how-do-i-use-dynamic-uri-in-to.html >>> > >> >>> > >> >>> > >> >>> > >> >>> > >> On Sun, Mar 31, 2013 at 5:22 AM, [hidden >>> > >> email]<http://user/SendEmail.jtp?type=node&node=5730152&i=3> >>> > >> <[hidden >>> > >> email]<http://user/SendEmail.jtp?type=node&node=5730152&i=4>>wrote: >>> >>> > >> >>> > >>> Thanks Walzer.. >>> > >>> * >>> > >>> * >>> > >>> *Queston1: >>> > >>> >>> > >>> * >>> > >>> *Example* >>> > >>> >>> > >>> .when(header("foo").isEqualTo("bar")) >>> > >>> .to("direct:b") >>> > >>> >>> > >>> In my case i have to add more than 80 condition and forwards to 80 >>> > >>> different queues. >>> > >>> >>> > >>> Above example i can only hard-code queue name,But what i want is >>> below. >>> > >>> >>> > >>> * .when(header("Type").isNotNull()) >>> > >>> .to("activemq.Inbound."+header("Type")) >>> > >>> * >>> > >>> >>> > >>> Example:If queue type is test,It should forward to *Inbound.test* >>> > queue. >>> > >>> >>> > >>> Above example i tried,but it did not worked,created queue something >>> > >>> like this *Inbound.header("type")* >>> > >>> >>> > >>> *Question2*: >>> > >>> >>> > >>> from("direct:a") >>> > >>> .multicast().to("direct:b", "direct:c", "direct:d"); >>> > >>> >>> > >>> Based on messages header and content type i want forward to >>> different >>> > >>> queue. >>> > >>> >>> > >>> condition will be *OR *and *AND*.How can i do that like above >>> example.* >>> > >>> * >>> > >>> >>> > >>> Thanks in advance* >>> > >>> * >>> > >>> >>> > >>> *Regards* >>> > >>> >>> > >>> Prabu.N >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> On Sun, Mar 31, 2013 at 2:43 AM, Walzer, Thomas [via Camel] < >>> > >>> [hidden email]<http://user/SendEmail.jtp?type=node&node=5730152&i=5>> >>> wrote: >>> > >>> >>> > >>> > Hi, >>> > >>> > >>> > >>> > you could start by reading Claus´ book (p. 44ff) which has a >>> perfect >>> > >>> > example or http://camel.apache.org/content-based-router.html (just >>> >>> > >>> > replace the direct: with your queues). >>> > >>> > If you need to fire your messages to multiple queues: >>> > >>> > http://camel.apache.org/publish-subscribe-channel.html shows you >>> the >>> > >>> > various ways. >>> > >>> > When you get the concepts you can just "lego" them together. >>> > >>> > >>> > >>> > Regards, Thomas. >>> > >>> > >>> > >>> > Am 30.03.2013 um 19:05 schrieb "[hidden email]< >>> > >>> http://user/SendEmail.jtp?type=node&node=5730116&i=0>" >>> > >>> > <[hidden email] < >>> > http://user/SendEmail.jtp?type=node&node=5730116&i=1>>: >>> > >>> > >>> > >>> > > Hi Claus, >>> > >>> > > >>> > >>> > > Thanks so much Clus for help.It is working now. >>> > >>> > > >>> > >>> > > I need your guidance for the following requirement. >>> > >>> > > >>> > >>> > > 1.I have one *inbound queue* it will receive message frequently >>> > from my >>> > >>> > > application. >>> > >>> > > 2.From *inbound queue* i need camel routing to move message >>> from >>> > >>> > > another *message >>> > >>> > > based inbound queue* based on message header value. >>> > >>> > > 3.From *message based inbound queue *i* *need camel routing to >>> move >>> > >>> > message >>> > >>> > > to *one or more outbound queue *based on message content* >>> > >>> > > * >>> > >>> > > >>> > >>> > > I need *camel java DSL*sample code for above requirement.* >>> > >>> > > * >>> > >>> > > * >>> > >>> > > * >>> > >>> > > *Thanks in advance* >>> > >>> > > >>> > >>> > > >>> > >>> > > On Sat, Mar 30, 2013 at 3:10 PM, Claus Ibsen-2 [via Camel] < >>> > >>> > > [hidden email] < >>> > http://user/SendEmail.jtp?type=node&node=5730116&i=2>> >>> > >>> > wrote: >>> > >>> > > >>> > >>> > >> Hi >>> > >>> > >> >>> > >>> > >> Do as the exception tells you. Check route 2. You route from >>> > >>> > >> "Inbound.SSS.TestEvent". And that is now know to Camel. >>> > >>> > >> >>> > >>> > >> Maybe you need to add "activemq:" as prefix so its >>> > >>> > >> "activemq:Inbound.SSS.TestEvent". >>> > >>> > >> >>> > >>> > >> >>> > >>> > >> On Fri, Mar 29, 2013 at 7:01 PM, [hidden email]< >>> > >>> > http://user/SendEmail.jtp?type=node&node=5730109&i=0> >>> > >>> > >> <[hidden email] < >>> > http://user/SendEmail.jtp?type=node&node=5730109&i=1 >>> > >>> >> >>> > >>> > >>> > >>> > >> wrote: >>> > >>> > >> >>> > >>> > >>> >>> > >>> > >>> I have activemmq Project in that i have following >>> requirement >>> > >>> > >>> >>> > >>> > >>> 1.Move message from Inbound queue to type based inbound >>> queue. >>> > >>> > >>> 2.Move message from Message type inbound queue to outbound >>> queue >>> > >>> > >>> >>> > >>> > >>> I have created two bean for to achieve this. >>> > >>> > >>> >>> > >>> > >>> 1.one for move from inbound to message type inbound queue >>> > >>> > >>> 2.one for move from inbound to outbound queue. >>> > >>> > >>> >>> > >>> > >>> I have following entry in camel.xml >>> > >>> > >>> >>> > >>> > >>> <camelContext id="camel" xmlns=" >>> > >>> > http://camel.apache.org/schema/spring"> >>> > >>> > >> >>> > >>> > >>> >>> > >>> > >>> <routeBuilder ref="routeBuilder" /> >>> > >>> > >>> <routeBuilder ref="routeBuilder1" /> >>> > >>> > >>> >>> > >>> > >>> </camelContext> >>> > >>> > >>> >>> > >>> > >>> <bean id="routeBuilder" >>> > >>> > >>> class="com.camel.routes.SinglecastRouteBuilder"/> >>> > >>> > >>> <bean id="recipientsGenerator" >>> > >>> > >>> class="com.camel.routes.TypeSpecificListBean"/> >>> > >>> > >>> <bean id="routeBuilder1" >>> > >>> > >>> class="com.camel.routes.MulticastRouteBuilder"/> >>> > >>> > >>> <bean id="recipientsGenerator1" >>> > >>> > >>> class="com.camel.routes.RecipientListBean"/> >>> > >>> > >>> >>> > >>> > >>> When i run application i am getting following error. >>> > >>> > >>> >>> > >>> > >>> * java.lang.Exception: >>> org.apache.camel.RuntimeCamelException: >>> > >>> > >>> org.apache.camel.Fa >>> > >>> > >>> iledToCreateRouteException: Failed to create route route2: >>> > >>> > >>> Route[[From[Inbound.G >>> > >>> > >>> MD.TestEvent]] -> [Multicast[[Bean[ref:... because of No >>> endpoint >>> > >>> > could >>> > >>> > >> be >>> > >>> > >>> found >>> > >>> > >>> for: Inbound.SSS.TestEvent, please check your classpath >>> contains >>> > the >>> > >>> > >> needed >>> > >>> > >>> Cam >>> > >>> > >>> el component jar.* >>> > >>> > >>> >>> > >>> > >>> I am not sure i am missing any configuration,Please kindly >>> help >>> > me >>> > >>> > >>> >>> > >>> > >>> >>> > >>> > >>> >>> > >>> > >>> >>> > >>> > >>> -- >>> > >>> > >>> View this message in context: >>> > >>> > >> >>> > http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094.html >>> > >>> > >>> Sent from the Camel - Users mailing list archive at >>> Nabble.com. >>> > >>> > >> >>> > >>> > >> >>> > >>> > >> >>> > >>> > >> -- >>> > >>> > >> Claus Ibsen >>> > >>> > >> ----------------- >>> > >>> > >> Red Hat, Inc. >>> > >>> > >> FuseSource is now part of Red Hat >>> > >>> > >> Email: [hidden email]< >>> > >>> > http://user/SendEmail.jtp?type=node&node=5730109&i=2> >>> > >>> > >> Web: http://fusesource.com >>> > >>> > >> Twitter: davsclaus >>> > >>> > >> Blog: http://davsclaus.com >>> > >>> > >> Author of Camel in Action: http://www.manning.com/ibsen >>> > >>> > >> >>> > >>> > >> >>> > >>> > >> ------------------------------ >>> > >>> > >> If you reply to this email, your message will be added to the >>> > >>> > discussion >>> > >>> > >> below: >>> > >>> > >> >>> > >>> > >> >>> > >>> > >>> > >>> > >> . >>> > >>> > >> NAML< >>> > >>> > >>> > >>> >>> > >>> http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml >>> > >>> > >>> > >>> > >>> > >>> > >> >>> > >>> > > >>> > >>> > > >>> > >>> > > >>> > >>> > > -- >>> > >>> > > Thanks & Regards >>> > >>> > > Prabu.N >>> > >>> > > >>> > >>> > > >>> > >>> > > >>> > >>> > > >>> > >>> > > -- >>> > >>> > > View this message in context: >>> > >>> > >>> > >>> >>> > >>> http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5730115.html >>> > >>> > >>> > >>> > > Sent from the Camel - Users mailing list archive at Nabble.com. >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > ------------------------------ >>> > >>> > If you reply to this email, your message will be added to the >>> > discussion >>> > >>> > below: >>> > >>> > >>> > >>> > >>> > >>> >>> > >>> http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5730116.html >>> > >>> > To unsubscribe from Camel routing issue, click here< >>> > >>> >>> > >>> > >>> > >>> > . >>> > >>> > NAML< >>> > >>> >>> > >>> http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml >>> > >>> > >>> > >>> > >>> > >>> >>> > >>> >>> > >>> >>> > >>> -- >>> > >>> Thanks & Regards >>> > >>> Prabu.N >>> > >>> >>> > >>> >>> > >>> >>> > >>> >>> > >>> -- >>> > >>> View this message in context: >>> > >>> >>> > >>> http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5730118.html >>> > >>> Sent from the Camel - Users mailing list archive at Nabble.com. >>> > >>> >>> > >> >>> > >> >>> > >> >>> > >> -- >>> > >> Claus Ibsen >>> > >> ----------------- >>> > >> Red Hat, Inc. >>> > >> FuseSource is now part of Red Hat >>> > >> Email: [hidden >>> > >> email]<http://user/SendEmail.jtp?type=node&node=5730152&i=6> >>> > >> Web: http://fusesource.com >>> > >> Twitter: davsclaus >>> > >> Blog: http://davsclaus.com >>> > >> Author of Camel in Action: http://www.manning.com/ibsen >>> > >>> >>> >>> >>> -- >>> Claus Ibsen >>> ----------------- >>> Red Hat, Inc. >>> FuseSource is now part of Red Hat >>> Email: [hidden email]<http://user/SendEmail.jtp?type=node&node=5730152&i=7> >>> Web: http://fusesource.com >>> Twitter: davsclaus >>> Blog: http://davsclaus.com >>> Author of Camel in Action: http://www.manning.com/ibsen >>> >>> >>> ------------------------------ >>> If you reply to this email, your message will be added to the >>> discussion below: >>> >>> http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5730152.html >>> To unsubscribe from Camel routing issue, click >>> here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5730094&code=cHJhYnVtY2EwNkBnbWFpbC5jb218NTczMDA5NHw4OTY0MTU3ODg=> >>> . >>> NAML<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml> >>> >> >> >> >> -- >> Thanks & Regards >> Prabu.N >> > > > > -- > Thanks & Regards > Prabu.N > > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/Camel-routing-issue-tp5730094p5730157.html > Sent from the Camel - Users mailing list archive at Nabble.com.