小编use*_*124的帖子

尝试使用 Spring Integration 在运行时修改轮询率时出现问题

将通道适配器定义为:

<int:channel id="target">
    <int:queue /> 
</int:channel>
<int-jdbc:inbound-channel-adapter id="adapter" channel="target" query="${int.poll.query}" update="${int.update.query}" data-source="mock-datasource">
    <int:poller fixed-rate="5000"/>
</int-jdbc:inbound-channel-adapter>
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我不能在运行时修改轮询率,如下:

SourcePollingChannelAdapter adapter = applicationContext.getBean("adapter",SourcePollingChannelAdapter.class);
adapter.setTrigger(new PeriodicTrigger(1000));
Run Code Online (Sandbox Code Playgroud)

当我调试这个解决方案时,我可以看到适配器附加了这个新的触发器,但是轮询率保持不变(每 5 秒一次)。我也尝试过 stop() 和 start() 适配器,运气类似。

任何人都可以指出我做错了什么?谢谢

throttling spring-integration eip

2
推荐指数
1
解决办法
2087
查看次数

标签 统计

eip ×1

spring-integration ×1

throttling ×1