Hi

Have you tried with the option
replyToTempDestinationAffinity=producer



On Sun, Nov 22, 2009 at 3:09 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> On Sun, Nov 22, 2009 at 2:46 PM, Ming Fang <mingf...@mac.com> wrote:
>> Thanks.
>> But I hope that assigning this issue to 2.3 is just a default and that it 
>> will be sooner once issue is reviewed.
>> I really need this fixed asap; or at least find a workaround or will have to 
>> remove Camel from our system.
>>
>
> You are much welcome to git into this issue and help out. I am afraid
> its not something we have time to look into in the very short time.
>
> Camel 2.1 is pending a release which should be started next week.
>
> You are also the first to point out this and Camel is running in
> production at many companies.
> If you are looking for help ASAP you may have to resort to professional 
> support.
>
>
> For Camel 2.2 we have a roadmap laid out with 2-3 major areas to have covered.
> We would like Camel 2.2 to be a "little" release in the sense it wont
> take 3-4 months to complete, but focusing on those 2-3 areas.
>
> And you can use the regular JMS API to implement the failover behavior
> yourself and still use Camel for the remainder.
>
>
>
>> On Nov 22, 2009, at 5:24 AM, Claus Ibsen wrote:
>>
>>> Hi
>>>
>>> Thanks for the sample project. I have created a ticket to lookup into this
>>> https://issues.apache.org/activemq/browse/CAMEL-2211
>>>
>>>
>>> On Sun, Nov 22, 2009 at 6:39 AM, Ming Fang <mingf...@mac.com> wrote:
>>>> Here is the smallest problem that demonstrates the problem.
>>>>
>>>> Java file
>>>>
>>>> package test;
>>>>
>>>> import org.apache.activemq.broker.BrokerService;
>>>> import org.apache.activemq.camel.component.*;
>>>> import org.apache.camel.CamelContext;
>>>> import org.apache.camel.builder.RouteBuilder;
>>>> import org.apache.camel.component.bean.ProxyHelper;
>>>> import org.apache.camel.impl.DefaultCamelContext;
>>>> import org.apache.log4j.*;
>>>>
>>>> public class ActiveMQTest {
>>>>
>>>>    public static void main(String[] args) throws Exception {
>>>>        //log4j
>>>>        Logger.getRootLogger().addAppender(new ConsoleAppender(new 
>>>> PatternLayout(PatternLayout.DEFAULT_CONVERSION_PATTERN)));
>>>>        System.getProperties().put("org.apache.camel.jmx.disabled", "true");
>>>>
>>>>        //needs at least 2 servers to see problem.
>>>>        simulatorServer("tcp://localhost:61616");
>>>>        simulatorServer("tcp://localhost:61617");
>>>>        simulatorServer("tcp://localhost:61618");
>>>>
>>>>        //client
>>>>        CamelContext camelContext = new DefaultCamelContext();
>>>>        ActiveMQConfiguration configuration = new ActiveMQConfiguration();
>>>>        
>>>> configuration.setBrokerURL("failover://(tcp://localhost:61616,tcp://localhost:61617,tcp://localhost:61618)");
>>>>        camelContext.addComponent("jms", new 
>>>> ActiveMQComponent(configuration));
>>>>        camelContext.start();
>>>>
>>>>        //invoke server. likely to fail when sleepTime is over 30 seconds
>>>>        Echo service = 
>>>> ProxyHelper.createProxy(camelContext.getEndpoint("jms:queue:echo"), 
>>>> Echo.class);
>>>>        int sleepTime = 31000;
>>>>        while (true) {
>>>>            System.out.println(service.echo("test"));
>>>>            Thread.sleep(sleepTime);
>>>>        }
>>>>    }
>>>>
>>>>    private static void simulatorServer(final String url) throws Exception {
>>>>        //each server is listening on a dedicated broker
>>>>        BrokerService broker = new BrokerService();
>>>>        broker.setUseJmx(false);
>>>>        broker.setPersistent(false);
>>>>        broker.addConnector(url);
>>>>        broker.start();
>>>>
>>>>        ActiveMQConfiguration configuration = new ActiveMQConfiguration();
>>>>        configuration.setBrokerURL(url);
>>>>        CamelContext camelContext = new DefaultCamelContext();
>>>>        camelContext.addComponent("jms", new 
>>>> ActiveMQComponent(configuration));
>>>>
>>>>        camelContext.addRoutes(new RouteBuilder() {
>>>>            public void configure() {
>>>>                from("jms:queue:echo").bean(new Echo(){
>>>>                    public String echo(String text) {
>>>>                        return "Echo " + text + " from " + url;
>>>>                    }
>>>>                });
>>>>            }
>>>>        });
>>>>        camelContext.start();
>>>>    }
>>>>
>>>>    //server interface
>>>>    public static interface Echo{
>>>>        String echo(String text);
>>>>    }
>>>> }
>>>>
>>>>
>>>> Pom file
>>>>
>>>> <project xmlns="http://maven.apache.org/POM/4.0.0"; 
>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>>>         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
>>>> http://maven.apache.org/maven-v4_0_0.xsd";>
>>>>    <modelVersion>4.0.0</modelVersion>
>>>>    <groupId>test</groupId>
>>>>    <artifactId>jmsproblem</artifactId>
>>>>    <packaging>jar</packaging>
>>>>    <version>1.0-SNAPSHOT</version>
>>>>    <name>jmsproblem</name>
>>>>
>>>>    <dependencies>
>>>>        <dependency>
>>>>            <groupId>org.apache.camel</groupId>
>>>>            <artifactId>camel-core</artifactId>
>>>>            <version>2.0.0</version>
>>>>        </dependency>
>>>>        <dependency>
>>>>            <groupId>org.apache.camel</groupId>
>>>>            <artifactId>camel-jms</artifactId>
>>>>            <version>2.0.0</version>
>>>>        </dependency>
>>>>        <dependency>
>>>>            <groupId>org.apache.activemq</groupId>
>>>>            <artifactId>activemq-camel</artifactId>
>>>>            <version>5.3.0</version>
>>>>        </dependency>
>>>>    </dependencies>
>>>> </project>
>>>>
>>>>
>>>> On Nov 21, 2009, at 1:26 AM, Claus Ibsen wrote:
>>>>
>>>>> On Sat, Nov 21, 2009 at 7:18 AM, Ming Fang <mingf...@mac.com> wrote:
>>>>>> Does anyone know of a fix for this?
>>>>>> This is a critical problem for us, and for many I would think since this 
>>>>>> is a very typical configuration.
>>>>>>
>>>>>
>>>>> Have you asked /searched at the AMQ forum also?
>>>>>
>>>>> Try creating a small application that demonstrates your issue so its
>>>>> easier for others to try to reproduce the issue.
>>>>> And make that application as simple as possible so there are less
>>>>> moving parts to get confused by.
>>>>>
>>>>>
>>>>>
>>>>>> On Nov 19, 2009, at 6:59 AM, Ming Fang wrote:
>>>>>>
>>>>>>> Yes changing idelTimeOut in org.apache.activemq.pool.ConnectionPool to 
>>>>>>> a very large number would be a workaround.
>>>>>>> However I don't see anyway of doing that in 
>>>>>>> org.apache.activemq.camel.component.ActiveMQConfiguration.
>>>>>>>
>>>>>>> But ultimately I think the way Camel uses JMS is just wrong;
>>>>>>> The use of a Requestor to listen for out messages will always be a 
>>>>>>> problem because it's not guarantee to be listening on the same broker 
>>>>>>> as the publisher.
>>>>>>> --ming
>>>>>>>
>>>>>>> On Nov 19, 2009, at 4:42 AM, Willem Jiang wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> How about change the idle time of switching the broker ?
>>>>>>>>
>>>>>>>> If the idle time is larger than your application response time, you 
>>>>>>>> will not get this kind trouble anymore.
>>>>>>>>
>>>>>>>> Willem
>>>>>>>>
>>>>>>>> Ming Fang wrote:
>>>>>>>>> Hi
>>>>>>>>> We're using Camel 2.0 with Activemq 5.3.
>>>>>>>>> Our app uses Camel jms remoting.
>>>>>>>>> It's connecting to two discrete ActiveMQ brokers using the failover 
>>>>>>>>> transport randomly. Everything works fine at first.
>>>>>>>>> The problem happens when the app is idle for more than 30 seconds. 
>>>>>>>>> After that any remote call will trigger Activemq client to reconnect 
>>>>>>>>> and may end up connecting to another broker. But the problem is the 
>>>>>>>>> Requestor does not reconnect and still connected to the original 
>>>>>>>>> broker. The result is calls are sent to one broker but the Requestor 
>>>>>>>>> is listening to a different broker for the response.
>>>>>>>>> Is there a way to force the Requestor to use the same connection as 
>>>>>>>>> the producers?
>>>>>>>>> --Ming
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>> Open Source Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> Apache Camel Committer
>>>
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>> Open Source Integration: http://fusesource.com
>>> Blog: http://davsclaus.blogspot.com/
>>> Twitter: http://twitter.com/davsclaus
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to