2008/5/9 Krystian Szczesny <[EMAIL PROTECTED]>:
>
>
>
> James.Strachan wrote:
>>
>> 2008/5/9 Krystian Szczesny <[EMAIL PROTECTED]>:
>>>
>>>  Hi,
>>>
>>>
>>>  Before, when delaying single messages I've used for example
>>> delayer(3000)
>>>  and it worked flawlessly.
>>>  Now I need to delay a sequence of messages, so when I send 5 messages,
>>> the
>>>  first should be delayed by 3000, second by 6000 etc...
>>>
>>>  Is there any way I could do that with Camel?
>>
>> You just need to use an expression for the time that the message is to
>> be sent at. So you could do something like...
>>
>> from("activemq:foo").delay().method("someBean",
>> "sendAtTime").to("activemq:bar");
>>
>> then the bean would look like this...
>>
>> public class SomeBean {
>>   public long sendAtTime(@Header("MyDelayHeader") long delay) {
>>     if (delay <= 0) delay = 3000;
>>     return System.currentTimeMillis() + delay;
>>  }
>> }
>>
>> which would look for the MyDelayHeader on the message and use that as the
>> delay.
>>
>>
>> --
>> James
>> -------
>> http://macstrac.blogspot.com/
>>
>> Open Source Integration
>> http://open.iona.com
>>
>>
> Hi James,
>
> thanks for fast answer.
> One more thing if you could...
> I am using spring to configure the whole thing:
>
>        <camelContext id="camel"
>                xmlns="http://activemq.apache.org/camel/schema/spring";>
>                <route>
>                        <from uri="activemq:queue:Input" />
>                        <delayer>
>                                <simple>header.JMSTimestamp</simple>
>                                <to uri="activemq:queue:Delayed" />
>                                <delay>3000</delay>
>                        </delayer>
>                </route>
>        </camelContext>
>
> How can I add "method("someBean","sendAtTime")" to this configuration?

<delayer>
  <methodCall bean="something" method="sendAtTime"/>
  ...
</delayer>

For more details, configure your IDE to use the XSD...
http://activemq.apache.org/camel/schema/spring/camel-spring-1.3.0.xsd

then you'll get smart completion

-- 
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://open.iona.com

Reply via email to