参考手册讨论了如何在XML中进行设置,我看到Jira issue的@Aggregator
的高级配置已完成,但没有看到这些高级属性。那么,如果使用注释,如何设置过期组?
答案 0 :(得分:0)
好吧,根据JIRA票证,Reference Manual中确实存在一个示例:
@ServiceActivator(inputChannel = "aggregatorChannel")
@Bean
public MessageHandler aggregator(MessageGroupStore jdbcMessageGroupStore) {
AggregatingMessageHandler aggregator =
new AggregatingMessageHandler(new DefaultAggregatingMessageGroupProcessor(),
jdbcMessageGroupStore);
aggregator.setOutputChannel(resultsChannel());
aggregator.setGroupTimeoutExpression(new ValueExpression<>(500L));
aggregator.setTaskScheduler(this.taskScheduler);
return aggregator;
}
对此事有明确的说明:
@Aggregator
组件的注释配置(Aggregator
和其他配置)仅涵盖简单的用例,其中大多数默认选项已足够。如果您需要使用注释配置对这些选项进行更多控制,请考虑为@Bean
使用AggregatingMessageHandler
定义,并用@Bean
标记其@ServiceActivator
方法
使用此方法甚至更好:
从版本4.2开始,
AggregatorFactoryBean
可用,以简化AggregatingMessageHandler
的Java配置。
对我来说,文档中涵盖了所有内容。有什么遗漏吗?
我的意思是AggregatorFactoryBean
有一个您需要的选项:
public void setExpireGroupsUponCompletion(Boolean expireGroupsUponCompletion) {
还不够吗?