0
複数の.when()ケースを持つ.choice()ステートメントがあります。しかし、私はMsgFmtVerNr = 2となるたびに同じファイルをアップロードします。それ以外の場合は時々.when().xpath( "/ UpsBas/MsgHdr/MsgFmtVerNr = '2'")を経由します。私はなぜこの声明が時間の半分だけ働いているのか分かりません。 .otherwise()ステートメントに直接スキップする何らかの理由はありますか?高度なヘルプに感謝します。Apache Camel .when()ステートメント時間の半分しか動作しません
.choice()
.when(body().startsWith(constant("A")))
.setHeader(MsgHdr.EVENT_CODE, simple(ErrorCodesLocal.UNSOLICITEDMSG_GIC_BSIS))
.beanRef("fromGICRoute", "setMessageHeadersForUnsolicitedMessage(*)")
.beanRef("logging", "debug(*, 'Messsage from " + FromGicSourceQueue + " is a unsolicited message')")
.multicast().parallelProcessing()
.to("direct:unsolicitedMessageToBoss", "direct:unsolicitedMessageToCmods", "direct:unsolicitedMessageToIsps")
.endChoice()
.when(body().contains("<RtgPfl"))
.to(RATING_PROFILE_DESTINATION_QUEUE)
.when().xpath("/UpsBas/MsgHdr/MsgFmtVerNr = '2'")//body().contains("<MsgFmtVerNr>2<"))
.to("direct:cv2")
.otherwise()
.to("direct:commercialInvoice")