2016-09-28 10 views
0

は、私はこの実行した後にコードペイロード共有 - 春の統合

\t <int-jpa:updating-outbound-gateway 
 
\t \t request-channel="nativeQlChannel" auto-startup="true" 
 
\t \t native-query="update Transactions t set t.transaction_Status = :transactionStatus where t.bank_Reference_Number = :bankReferenceNumber " 
 
\t \t entity-manager="entityManager" persist-mode="PERSIST" reply-channel="nativeQlChannelOne" 
 
\t \t use-payload-as-parameter-source="false">

を持っていることは

\t <int-jpa:outbound-channel-adapter 
 
\t \t channel="nativeQlChannel" entity-class="org.ncb.quickpay.grs.persistence.entities.PartnerResponseDetails" 
 
\t \t persist-mode="PERSIST" entity-manager="entityManager" > 
 
\t \t <int-jpa:transactional/> 
 
\t \t </int-jpa:outbound-channel-adapter> 
 

 
\t \t <int-jpa:outbound-channel-adapter 
 
\t \t \t channel="nativeQlChannelOne" 
 
\t \t \t native-query="update Transactions t set t.transaction_Status = :transactionStatus where t.bank_Reference_Number = :bankReferenceNumber " 
 
\t \t \t entity-manager="entityManager"> 
 
\t \t \t <int-jpa:transactional /> 
 
\t \t \t <int-jpa:parameter name="transactionStatus" 
 
\t \t \t \t expression="payload['transactionStatus']" /> 
 
\t \t \t <int-jpa:parameter name="bankReferenceNumber" 
 
\t \t \t \t expression="payload['bankReferenceNumber']" /> 
 
</int-jpa:outbound-channel-adapter>

呼び出しますが、私は取得することはできませんよ任意のパーAmeterここでは、以前のクエリ実行のステータスであるペイロードの値が1であるため、以前のクエリで使用できるすべてのパラメータを取得できるように、ペイロードをどのように共有できますか。

答えて

0

一般的なパターンは、ペイロードへの参照をヘッダーに格納することです。それを復元してください...

<int:header-enricher ...> <!-- before the first gateway --> 
    <int:header name="savePayload" expression="payload"> 
</int:header-enricher> 


<int:transformer ... expression="headers.savePayload"> <!-- after the first gateway --> 
+0

あなたが最初のゲートウェイの前に、または最初のゲートウェイの後に、正確に配置する必要がある場合は、それを復元します。 –

+0

私はチェーンを使用してそれを行うことができます、ありがとう –

+0

チェーンを使用していますが、出力チャンネルは実行されていませんか? \t \t <! - トランザクションのチェーン - > \t