camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Wolf <cwolf.a...@gmail.com>
Subject Re: Camel routing issue
Date Sun, 31 Mar 2013 17:51:18 GMT
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&amp;username='" +
                    ",//remote[vendorId/@value='CBOE34']/username/@value" +
                    ",'&amp;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 <cwolf.algo@gmail.com> 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 <claus.ibsen@gmail.com> 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, prabumca06@gmail.com
>> <prabumca06@gmail.com>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] <
>>> ml-node+s465427n5730116h98@n5.nabble.com> 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<
>>> 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
>>>
>>>
>>>
>>>
>>> --
>>> 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: cibsen@redhat.com
>> Web: http://fusesource.com
>> Twitter: davsclaus
>> Blog: http://davsclaus.com
>> Author of Camel in Action: http://www.manning.com/ibsen

Mime
View raw message