Thanks Clause, I will give it a try this week end and see how it goes.
Starting and stoping the route seems a bit expensive, can I use suspend and
resume?
Thanks
Kal
On Sep 28, 2011, at 2:01 AM, Claus Ibsen-2 [via Camel] wrote:
> Hi
>
> Yes you would need to stop the route. Adjust the endpoint. And start
> the route again to have the JMS selector dynamic updated.
>
> CamelContext has API to start/stop rotues by the route id.
>
>
> On Wed, Sep 28, 2011 at 5:10 AM, kal2420 <[hidden email]> wrote:
>
> > Thanks Claus,
> >
> > This example is very helpful, I am still running into a bit of an
> > issues. Here is my createRouteBuilder() method ( combined JmsSelectorTest
> > and JmsSelectorInTest ) :
> >
> > @Override
> > protected RouteBuilder createRouteBuilder() throws Exception {
> > return new RouteBuilder() {
> > @Override
> > public void configure() throws Exception {
> > JmsEndpoint endpoint =
> > context.getEndpoint("activemq:test.b", JmsEndpoint.class);
> > endpoint.setSelector("selector=cheese='y'");
> >
> > from("activemq:test.a").to("activemq:test.b");
> >
> > //
> > from("activemq:test.b?selector=cheese='y'").to("mock:result");
> > from(endpoint).routeId("route-b").to("mock:result");
> >
> > from("activemq:test.c").process(new Processor() {
> >
> > @Override
> > public void process(Exchange arg0) throws Exception {
> >
> > //==================================================
> > //
> > // I want to change selector on an endpoint at
> > run time
> > // does it require an endpoint restart ?
> > //==================================================
> >
> > CamelContext ctx = getContext();
> > Route rt = ctx.getRoute("route-b");
> > JmsEndpoint endpoint = (JmsEndpoint)
> > rt.getEndpoint();
> > endpoint.setSelector("cheese IN ('x', 'n')");
> >
> > }
> > }).to("activemq:test.b");
> > }
> > };
> > }
> >
> >
> > I noticed that if I define the selector as part of the uri every thing
> > works, but I want to dynamically change the selector at runtime. Let me
> > know if I am doing something wrong here.
> >
> > Thanks
> > Kal
> >
> > On Sep 27, 2011, at 8:09 AM, Claus Ibsen-2 [via Camel] wrote:
> >
> >> Hi
> >>
> >> I created an unit test which you can take a look at. It uses the IN
> >> selector
> >> http://svn.apache.org/viewvc?rev=1176348&view=rev
> >>
> >> On Tue, Sep 27, 2011 at 1:58 PM, Claus Ibsen <[hidden email]> wrote:
> >>
> >> > On Mon, Sep 26, 2011 at 6:05 PM, kal2420 <[hidden email]> wrote:
> >> >> Thanks Claus,
> >> >>
> >> >> I got busy with work, and I am just getting back to camel. I did
> >> >> try
> >> >> looking into event-driven-consusmer, What i really want is to configure
> >> >> dynamic selector on activemq queue. Here is how I am trying to
> >> >> configure
> >> >> dynamic selector, please tell me if this is correct:
> >> >>
> >> >> // once all routes are up and running
> >> >> // set selector on jms endpoint
> >> >> CamelContext ctx = getContext();
> >> >> JmsEndpoint endpoint =
> >> >> ctx.getEndpoint("activemq://queue:test-1",JmsEndpoint.class);
> >> >> // String selector = "userid='test12'"; // also tried with %3D url
> >> >> format
> >> >> String selector = "userid IN ('test12' , 'terst234');
> >> >> endpoint.setSelector(selector);
> >> >>
> >> >
> >> > So you have a route with that particular endpoint
> >> > from(endpoint).to("xxx")
> >> >
> >> >
> >> > The selector should use a SQL like syntax. I actually do not know if
> >> > ActiveMQ has an logging to WARN/ERROR level
> >> > if the syntax is invalid.
> >> >
> >> >
> >> >
> >> >> Issue: I am seeing all messages being processed, while i only want to
> >> >> process messages where i have userid header value set to 'test12' or
> >> >> 'terst234'
> >> >>
> >> >> Thanks
> >> >> Kal
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >> http://camel.465427.n5.nabble.com/Activemq-dynamic-endpoint-configuration-tp4749853p4841926.html
> >> >> Sent from the Camel - Users mailing list archive at Nabble.com.
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > Claus Ibsen
> >> > -----------------
> >> > FuseSource
> >> > Email: [hidden email]
> >> > Web: http://fusesource.com
> >> > Twitter: davsclaus, fusenews
> >> > Blog: http://davsclaus.blogspot.com/
> >> > Author of Camel in Action: http://www.manning.com/ibsen/
> >> >
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> FuseSource
> >> Email: [hidden email]
> >> Web: http://fusesource.com
> >> Twitter: davsclaus, fusenews
> >> Blog: http://davsclaus.blogspot.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/Activemq-dynamic-endpoint-configuration-tp4749853p4845119.html
> >> To unsubscribe from Activemq dynamic endpoint configuration, click here.
> >
> >
> >
> > --
> > View this message in context:
> > http://camel.465427.n5.nabble.com/Activemq-dynamic-endpoint-configuration-tp4749853p4847785.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: [hidden email]
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.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/Activemq-dynamic-endpoint-configuration-tp4749853p4848015.html
> To unsubscribe from Activemq dynamic endpoint configuration, click here.
--
View this message in context:
http://camel.465427.n5.nabble.com/Activemq-dynamic-endpoint-configuration-tp4749853p4855106.html
Sent from the Camel - Users mailing list archive at Nabble.com.