Spring Integration JdbcPollingChannelAdapter jdbc:inbound-channel-adapter允许您使用SqlParameterSource来更改selectQuery WHERE子句中的值。但是,没有机制可以更改实际的SQL。适配器的构造函数使用不能重写或更新的selectQuery:String。

我的要求是,根据应用程序运行的模式,需要不同的SELECT(&UPDATE)。并且模式将在运行时更改。

是否有一种机制可以通过SI组件实现这一目标?

问候,
抢。

最佳答案

不,目前不支持(您可以使用占位符属性设置初始值,但是一旦设置就无法更改)。

您可以使用带有JdbcTemplate的常规POJO入站通道适配器来解决。

随时open a new Feature Suggestion

就像是

public JdbcPollingChannelAdapter(JdbcOperations jdbcOperations, Supplier<String> selectQuery) {


应该足够容易实施。

10-07 19:42