camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Spaven <danspa...@gmail.com>
Subject Re: Removing routes programmatically
Date Fri, 08 Jul 2011 06:56:50 GMT
Hey Claus, Ashwin,

I haven't got any access to my development environment right now. But i can
tell you by memory that the topic is not durable and the durable topic name
and client id is not set.

Also Ashwin regarding the test; based on what i observed when looking at the
runtime route attributes on JMX (as stated in my first post). The test you
ran would not catch the problem. After removing a route my other routes
would still be running and have the status of "started", however they
wouldn't actually be working. They would not consume and route JMS messages
as they should do and were doing before i removed a route.

On Thu, Jul 7, 2011 at 4:42 PM, Ashwin Karpe <akarpe@fusesource.com> wrote:

> Hi Daniel,
>
> I am finding it hard to see an issue when I run the following test. While I
> am not using JMS, I do have the same consumer setup under a different
> routeId. I find that following a run of this test that routeId "bar" is
> still up and running.
>
> The line assertNull(context.getRouteStatus("bar")); fails as expected...
>
> I have not tried JMS and whether there are any side-effects tied to this.
> Can't see anything wrong when I run SEDA with multiple consumers.
>
> Cheers,
>
> Ashwin...
>
>
> ----------------------------------------------------------------------------------------------------------
>
> /**
>  * Licensed to the Apache Software Foundation (ASF) under one or more
>  * contributor license agreements.  See the NOTICE file distributed with
>  * this work for additional information regarding copyright ownership.
>  * The ASF licenses this file to You under the Apache License, Version 2.0
>  * (the "License"); you may not use this file except in compliance with
>  * the License.  You may obtain a copy of the License at
>  *
>  *      http://www.apache.org/licenses/LICENSE-2.0
>  *
>  * Unless required by applicable law or agreed to in writing, software
>  * distributed under the License is distributed on an "AS IS" BASIS,
>  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>  * See the License for the specific language governing permissions and
>  * limitations under the License.
>  */
> package org.apache.camel.impl;
>
> import org.apache.camel.ContextTestSupport;
> import org.apache.camel.ServiceStatus;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.component.mock.MockEndpoint;
>
> /**
>  * @version
>  */
> public class RouteRemoveTest extends ContextTestSupport {
>
>    public void testRemove() throws Exception {
>        MockEndpoint mock = getMockEndpoint("mock:result");
>        mock.expectedBodiesReceived("A");
>
>        template.sendBody("seda:foo", "A");
>
>        assertMockEndpointsSatisfied();
>
>        assertEquals("Started", context.getRouteStatus("foo").name());
>        assertEquals("Started", context.getRouteStatus("bar").name());
>        assertEquals(2, context.getRoutes().size());
>
>        // must be stopped so we cant remove
>        boolean removed = context.removeRoute("foo");
>        assertFalse(removed);
>
>        assertEquals(2, context.getRoutes().size());
>        assertEquals("Started", context.getRouteStatus("foo").name());
>        assertEquals("Started", context.getRouteStatus("bar").name());
>
>        // remove route then
>        context.stopRoute("foo");
>        removed = context.removeRoute("foo");
>        assertTrue(removed);
>
>        assertNull(context.getRouteStatus("bar"));
>        assertEquals(0, context.getRoutes().size());
>        assertNull(context.getRouteStatus("foo"));
>    }
>
>    @Override
>    protected RouteBuilder createRouteBuilder() throws Exception {
>        return new RouteBuilder() {
>            @Override
>            public void configure() throws Exception {
>
>
> from("seda:foo?multipleConsumers=true").routeId("foo").to("log:foo").to("mock:result");
>
>
> from("seda:foo?multipleConsumers=true").routeId("bar").to("log:foo").to("mock:result");
>             }
>        };
>    }
> }
>
> -----
> ---------------------------------------------------------
> Ashwin Karpe
> Apache Camel Committer & Sr Principal Consultant
> FUSESource (a Progress Software Corporation subsidiary)
> http://fusesource.com
>
> Blog: http://opensourceknowledge.blogspot.com
> ---------------------------------------------------------
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Removing-routes-programmatically-tp4556741p4561468.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message