只能在“ MessageGroupStore”中注册“ UniqueExpiryCallback”的一个实例

时间:2018-12-11 09:39:40

标签: spring-integration

    org.springframework.integration.store.AbstractMessageGroupStore {
    ...
    @Override
    public void registerMessageGroupExpiryCallback(MessageGroupCallback callback) {
        if (callback instanceof UniqueExpiryCallback) {
            boolean uniqueExpiryCallbackPresent =
                    this.expiryCallbacks.stream()
                            .anyMatch(UniqueExpiryCallback.class::isInstance);

            if (!uniqueExpiryCallbackPresent && this.logger.isErrorEnabled()) {
                this.logger.error("Only one instance of 'UniqueExpiryCallback' can be registered in the " +
                        "'MessageGroupStore'. Use a separate 'MessageGroupStore' for each aggregator/resequencer.");
            }
        }

        this.expiryCallbacks.add(callback);
    }
   ...
}

不应该是任何'!'通过检查uniqueExpiryCallbackPresent变量来登录if子句,因为在这个星座中,只要在流的配置中使用.aggregator()时,我都会收到错误日志。 它是spring-integration的5.1.1版本。

1 个答案:

答案 0 :(得分:2)

谢谢;该问题已经报告,并且已修复on master,将在5.1.2中显示。