1
で私は春の統合DSLに新しいですし、私が問題にして立ち往生しています。私は、フロー全体の中で再利用可能なSession変数のような、フロー内の特定のポイントまたはフローの他のポイントで、フローの先頭からObjectを使用する必要があります。ここでは、udp要求を変換し、それをapi関数に送信されるhttp要求に変換し、受信した応答にudp応答を生成するために必要なデータが含まれていない例を示します。ですから、何とか私はudpリクエストに含まれているudpレスポンスのデータが必要です。私はスプリッタについて考えていましたが、それが解決策ではないと思ったり、現在のIntegratinフローを自分のニーズにまで拡張しています。私はシステムが疎結合ではないことを知っていますが、これを行う方法でなければなりません。春の統合のJava DSL - 再利用可能なオブジェクトフロー
@Bean
public IntegrationFlow udpHttpFlow() {
return IntegrationFlows.from(udpInboundChannel())
.transform(udpRequestTransformer())
/* udp request object to use */
.<UdpRequest, Boolean>route(SessionObject::sessionExists, mapping -> mapping
.subFlowMapping(false, sf -> sf
.transform(httpRequestTransformer())
.handle(httpOutboundGateway())
.transform(httpResponseTransformer()))
/*use udp object here .handle(...) */
.subFlowMapping(true, sf -> sf
/* .handle(...) */
.transform(udpResponseTransformer())
.handle(udpOutboundChannel())
.get();
}