1

と を介して Spring IntegrationCountDownLatchに をに追加しようとしています。この理由は、この統合フロー内のメッセージ ハンドラーが呼び出され、その作業が終了したかどうかを監視するためです。org.springframework.integration.dsl.StandardIntegrationFlowadviceChainBeanFactoryPostProcessor

ここに Spring Integration の Java DSL を使用しないソリューションがあります: spring-integration unit test outbound-channel adapter。しかし残念ながら、Java DSL とStandardIntegrationFlow. Gary Russels のソリューションは次のようになります: https://gist.github.com/garyrussell/5481779。これを試みる私の例外は次のとおりです。

Caused by: org.springframework.beans.NotWritablePropertyException: 
Invalid property 'adviceChain' of bean class [org.springframework.integration.dsl.StandardIntegrationFlow]: 
Bean property 'adviceChain' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

統合フローは次のようになります。

@Bean
public IntegrationFlow myFlow() {
    return IntegrationFlows.from(myChannel())
            .handle(message -> manager.handleMessage(message))
            .get();
}

パーツにを追加する必要があるためCountDownLatch.handle()ハンドラが作業を終了したかどうかをラッチに問い合わせることができます。

これを達成する方法はありますか?

4

1 に答える 1