2017-06-20 57 views
0

我已經配置等Spring集成 - 之間傳遞數據流

@Bean 
public IntegrationFlow setupRabbitFlow() { 
    return IntegrationFlows.from(myInputChannel)  
      .handle((p, h) -> rabbitPublisher.publishToRabbit(p, h)) 
      .get(); 
} 

和從一些XML文件處理傳入數據的某些其它流,例如一個特殊的IntegrationFlow如Polling from file using Java DSL - compile error when adding Files.inboundAdapter所示。到那個流程結束時,我想把消息傳遞給上述的兔子發送「接收器」。我該如何申報?

+0

只是一個quickie:如果未定義限定符,則方法名稱將成爲bean名稱。您可能不希望名稱爲「setupRabbitFlow」的Spring組件。 –

+0

我認爲他對'IntegrationFlow' bean的邏輯名稱很好:https://github.com/spring-projects/spring-integration-java-dsl/wiki/Spring-Integration-Java-DSL-Reference –

回答

1

Spring Integration的頭等公民之一是MessageChannel抽象。

Spring集成組件(端點)之間的任何交互實際上都是通過消息通道完成的。

您在第二個流程中需要的是在該流程末尾指定.channel(myInputChannel)。 XML處理的結果將發送給您的第一個流程。