Hi,
I am trying to implement TimeToLive for the topic messages using camel
router.
I have two types of topics one is declared through camel.xml and other is
using DynamicRouter.java
Here is the code snippet for reference:
code in camel.xml:
<from uri="activemq:queue:jpaLogQueue"/>
<multicast>
    <pipeline>
        
<to uri="activemq:topic:jpaLogTopic?timeToLive=60000" />

    </pipeline>
    <pipeline>
        <aggregate strategyRef="jpaAggregatorStrategy"
eagerCheckCompletion="true" completionTimeout="5000">
       <correlationExpression>
          
<simple>${in.headers[__EclipseLinkSessionId__]}</simple>
       </correlationExpression>
       <completionPredicate>
             <simple>${body} contains 'commit_transaction' || ${body}
contains 'release_unit_of_work'                   </simple>
       </completionPredicate>
       <process ref="scrapMessageFilterProcessor"/>
       <process ref="transactionalMarkerProcessor"/>
       <choice>
             <when>
                      <simple>
${in.headers[Transactional]} == "true" </simple&amp;gt;&lt;br>                  
   
&lt;process ref="jpaSqlMessageTransformer"/&gt;
                    &lt;dynamicRouter&gt;
  
                          &lt;method ref="DynamicRouter" method="route"/&gt;
 
 
                    &lt;/dynamicRouter&gt;
 
                  &lt;/when&gt;
            &lt;otherwise&gt;
                    &lt;to uri="activemq:queue:ActiveMQ.DLQ"/&gt;
             &lt;/otherwise&gt;
      &lt;/choice&gt;
      &lt;/aggregate&gt;
                                      &lt;/pipeline&gt;
     &lt;/multicast&gt;
&lt;/route&gt;

Code for DynamicRouter:

public String route(@Body String body, Exchange exchange, Message msg,
                        @Header(Exchange.SLIP_ENDPOINT) String 
previous,@Properties Map<String,
Object> properties) {

*return "activemq:topic: jpa.modelName.vdbVersion-name?timeToLive=60000";*
}

The property TimeToLive given in the xml creates a topic with message expiry
time as 1 minute but if I provide same property to a Topic created through
Dynamic router, 
it doesn't  honour the timetolive and messages from that topic doesnt expire
after 1 minute.

Is there anything which I am missing out or is there any other way out to
accomplish it?

Thanks,
Abhijeet.
 



--
View this message in context: 
http://camel.465427.n5.nabble.com/TimeToLive-property-not-working-in-case-of-DynamicRouter-tp5747895.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to