我正在使用Spring Integration JDBC轮询表,然后将记录发送到外部系统,该系统通过远程EJB调用进行访问。我创建了jdbc:inbound-channel-adapter,如下所示:
<int-jdbc:inbound-channel-adapter channel="ch1" data-source="ds" row-mapper="rm" query="..." update="...">
<int:poller fixed-rate="60000">
<int:transactional />
</int:poller>
</int-jdbc:inbound-channel-adapter>
<int:channel id="ch1"/>
<int:splitter input-channel="ch1" output-channel="ch2"/>
<int:outbound-channel-adapter ref="messageDispatcher" method="dispatch" channel="ch2"/>
<bean id="messageDispatcher" class="a.b.c.MessageDispatcher"/>
MessageDispatcher
的{{1}}方法将执行远程EJB调用。问题是,我不能使jdbc更新有条件地执行。例如,如果EJB返回false,那么我不想更新记录的标志状态。如何进行这种整合流程?我应该在配置文件中添加/更改什么?