2

我正在尝试配置我的 spring 集成并希望使用该元素,该元素基本上位于 retryFilter 和队列之间。

如果我直接从 retryFilter 进入队列,一切正常,但是,一旦我将延迟器元素放在它们之间,配置文件就无法加载(当其中出现错误时会发生这种情况)。

本节的配置如下:

 <!-- 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>

非常感谢任何帮助。

戴夫

4

1 回答 1

2

我已经试用了您的示例,并使其在 Spring Integration 2.0.0.BUILD-SNAPSHOT 上运行良好。你可以在这里看到我的提交:

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

我改变了几件事:

  • 频道重命名(输入,输出)而不是更长的名称
  • 过滤输出到延迟器输入,而不是通过延迟器

您使用的是旧版本的 Spring Integration 吗?

您可以查看我的小 gradle 项目(http://github.com/iwein/Spring-Integration-Sandbox/tree/master/quick-samples/router-test/),它可以帮助您进行实验。如果您仍然无法使其工作,那么如果您共享堆栈跟踪和您正在使用的确切版本会很好。

于 2010-05-08T10:37:18.550 回答