在JdbcPollingChannelAdapter
中,我想我了解如何使用createParameterSourceNoCache()
类的ExpressionEvaluatingSqlParameterSourceFactory
方法来获取非缓存SqlParameterSource
对象,通过JdbcPollingChannelAdapter
方法应用于setSelectSqlParameterSource()
的选择参数。
但是,在更新参数时,我只看到可以通过SqlParameterSourceFactory
方法通过setUpdateSqlParameterSourceFactory()
方法设置更新参数。据我所知,不可能将工厂设置为非缓存,只能调用工厂的非缓存create方法来获取非缓存源对象。
我需要更新参数是动态计算的自定义日期随时间变化的结果。我有一个动态计算结果的静态方法,我希望我可以在JdbcPollingChannelAdapter
上使用SpEL以与select参数相同的方式动态评估update参数。这可能吗?
答案 0 :(得分:1)
您可以对其进行扩展,并将其定期注入JdbcPollingChannelAdapter
:
public class NoCacheExpressionEvaluatingSqlParameterSourceFactory
extends ExpressionEvaluatingSqlParameterSourceFactory {
@Override
public SqlParameterSource createParameterSource(Object input) {
return createParameterSourceNoCache(input);
}
}