views:

176

answers:

1

I'm trying to configure my spring integration and want to use the element, which basically sits between a retryFilter and a queue.

All works fine if I go straight from the retryFilter to the queue, however, as soon as I put the delayer element in between them, the config file fails to be loaded (as happens when there is an error in it).

Config for this section is as follows:

 <!-- Retry filter -->
 <filter
  input-channel="retryChannel"
  ref="retryFilter"
  method="doRetry" 
  output-channel="queueChannel" />

 <channel id="delayChannel" />

 <delayer input-channel="delayChannel" default-delay="10000" output-channel="queueChannel"/>

 <channel id="queueChannel">
  <queue capacity="100" />
 </channel>

    <poller id="poller" default="true">
        <interval-trigger interval="1000"/>
    </poller>

Any help greatly appreciated.

Dave

+1  A: 

I've tried out your sample and got it working fine on Spring Integration 2.0.0.BUILD-SNAPSHOT. You can see my commit here:

http://github.com/iwein/Spring-Integration-Sandbox/commit/c274a12f057b6750dcf18663486a99970368e68e

There are a couple of things I changed:

  • channel renames (in, out) instead of longer names
  • filter outputs to delayer input, instead of passing by the delayer

Are you using an older version of Spring Integration perhaps?

You can check out my little gradle project ( http://github.com/iwein/Spring-Integration-Sandbox/tree/master/quick-samples/router-test/) which could help you experiment. If you still can't get it working it would be good if you shared a stacktrace and the exact version you are using.

iwein