[ 
https://issues.apache.org/activemq/browse/CAMEL-2740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=59516#action_59516
 ] 

Qingyi Gu commented on CAMEL-2740:
----------------------------------

Here are some more details.

AMQ:  I have two activemq and there is one network connector between them.  See 
config below.

<networkConnector name="server1" 
uri="static://(https://localhost:61617?proxyHost=server1&proxyPort=80)" 
duplex="true">
     <!-- limit store and forward to specific queues -->
     <dynamicallyIncludedDestinations>
         <queue physicalName="TO_SERVER1.>"/>
         <queue physicalName="TO_SCA.>"/>
     </dynamicallyIncludedDestinations>
     <staticallyIncludedDestinations>
                <queue physicalName="TO_SERVER1.SYNC_RESP"/>
                <queue physicalName="TO_SCA.SSO.SYNC_REQ"/>
     </staticallyIncludedDestinations>
  </networkConnector>

Camel Route on consumer side:
                from("jms:queue:TO_SCA.SSO.SYNC_REQ?concurrentConsumers=25")
                        .choice()
                                
.when(header(JMS_HEADER_TYPE).isEqualTo("TYPE1"))
                                        .beanRef("service1")
                                
.when(header(JMS_HEADER_TYPE).isEqualTo("TYPE2"))
                                        .beanRef("service2")
                                .otherwise()
                                        .beanRef("unknownService")
                        .end();

On producer side:

                HashMap<String, Object> reqHeaders = new HashMap<String, 
Object>();
                reqHeaders.put("JMSType", "TYPE1");
                        
                        
                 // Options
                StringBuffer options = new StringBuffer();
                options.append("?");
                options.append("replyTo");
                options.append("=");
                options.append("TO_EC.SERVER1.SYNC_RESP");

                
                // Send Message
                String outMsg = 
(String)camelTemplate.sendBodyAndHeaders("jms:queue:TO_SCA.SSO.SYNC_REQ"+options.toString(),
 
                                                                                
                                                 ExchangePattern.InOut, 
                                                                                
                                                 inMsg, 
                                                                                
                                                 reqHeaders);                   




> Using static queue as a reply queue in InOut pattern causes memory leak
> -----------------------------------------------------------------------
>
>                 Key: CAMEL-2740
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-2740
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.2.0
>         Environment: Windows 2003 server
>            Reporter: Qingyi Gu
>
> I am running JBoss, ActiveMQ and Camel for my application.   In the InOut 
> pattern,  I am using a predefined static queue as a reply queue.   After 
> running for a while,  the memory usage of JBoss keeps growing and growing 
> until it hits outOfMemory error and app server is totally hung.   I monitor 
> the thread in jconsole,  I can see the jms connection/session keeps growing 
> and growing.   
> But once I switch to use temp queue for InOut pattern,  this problem goes 
> away.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to