2016-09-16 9 views
1

4つのサブフローがそれぞれ独自のアプリケーションにあり、jarファイルにパッケージ化されています。
各サブフローは、スプリングブートアプリケーションとしてビルドされています。
各サブフローには入力チャネルと出力チャネルがあります。
別のjarにパッケージ化されたサブフローを処理する方法

私はメインフローを、順番にそれらの4つのサブフローと呼ばれる独自のスプリングブートアプリケーションに入れたいと思います。
春の統合が可能ですか?
可能な最善のアプローチは何が可能なのでしょうか?
は、私はインターネットを検索し、
How to handle subflows
https://github.com/spring-projects/spring-integration-flow
を見て、私はまだ続行するかどうかはわからないが、見つけることができ、他のすべて。サブフローを使用する
https://github.com/spring-projects/spring-integration-flow状態は、私は別のjarファイルにパッケージ私のサブフローにこのsubflow1を結びつけるにはどうすればよい私のxml
int-flow:flow id="subflow1"
にする必要があります。
次に、私のメインフローで、このサブフローをどのように呼び出すのですか?それはスプリングブートアプリケーションですか?
サブフローを開始するか、何か他のことを行うために、各サブフローへの入力チャネルにメッセージを送信しましたか? ありがとう、David

サブフローxmlファイルの例。
私はすべてのアプリケーションは春ブーツであれば、それを短くして置く...取り除か情報

<int:channel id="createTwo"/> 
<int:service-activator input-channel="createOne" output-channel="createTwo"   
    ref="automationUtilities" method="createTwo"/>   
... 

<int:service-activator input-channel="createFive"   
    ref="automationUtilities" method="createSix"/>          

<bean id="automationUtilities" class="package.BeanName" /> 
<bean id="validator" class="package.anotherBeanName" /> 
<util:properties id="config" location="classpath:application.properties"/> 

答えて

0

の代わりにするために、ファイルの無関係な部分を削除し、その後、彼らはMicroservicesとそれぞれそのうちの1つはJVM内に存在します。したがって、ちょうどinputoutputのチャンネルを持つだけでは不十分です。あるJVMから別のJVMにメッセージを送ることはできないからです。

これらはすべてSpringブートなので、いくつかのREST機能を追加することを検討してください。外部世界からのメッセージを受信するには少なくとも簡単な<int-http:inbound-gateway>。あるアプリケーションから別のアプリケーションへのREST要求を実行するには、<int-http:outbound-gateway>が必要です。

OTOHは、Spring Cloud Streamというプロジェクトを使用することを検討しています。これは、Messaging Microservices通信用に正確に設立されたプロジェクトです。それはBinderのコンセプトに基づいており、現在はカフカまたはRabbitMQです。

関連する問題