2016-10-07 9 views
0

、私はいくつかの例外が発生した場合、私はそれを見ることができるように、エラーのチャンネルを追加するコード例外は、int型、JPAでの取り扱い:更新-アウトバウンド・ゲートウェイ

<int-jpa:updating-outbound-gateway 
 
\t \t \t auto-startup="true" 
 
\t \t \t native-query="update Transactions t set t.transaction_Status = :transactionStatus 
 
    \t \t where t.bank_Reference_Number = :bankReferenceNumber " 
 
\t \t \t entity-manager="entityManager" persist-mode="PERSIST" 
 
\t \t \t use-payload-as-parameter-source="false"> 
 
\t \t \t <int-jpa:transactional /> 
 
\t \t \t <int-jpa:parameter name="transactionStatus" \t \t expression="payload['transactionStatus']" /> 
 
\t \t \t <int-jpa:parameter name="bankReferenceNumber" \t \t expression="payload['bankReferenceNumber']" /> 
 

 
</int-jpa:updating-outbound-gateway>

を持っています。

答えて

1

error-channelは、ユーザとは独立して動作するフロー用です。メッセージ駆動型チャネルアダプタ。 <int-jms:message-driven-channel-adapter>では、リスナーコンテナは無限ループで開始され、積極的に作業を行います。

もう1つのサンプルはPolling Consumerで、ポーリングタスクを定期的に実行します。 <int-file:inbound-channel-adapter>、またはQueueChannelの消費者としての誰か。また、それはあなたの存在とは無関係に積極的にそれを行います。

<int-jpa:updating-outbound-gateway>はパッシブコンポーネントなので、メッセージを送信するまで何もできません。このため、この種のコンポーネントで発生したエラーは、呼び出し元に送信されます。呼び出し元のJavaメソッド呼び出しで行われるのと同じです。

エラー処理の詳細についてはReference Manualをご覧ください。

アップストリームポーラーにerror-channelを追加することをお勧めします。

もう1つのケースはで、MessageHandlerの何らかのエラー処理を実行する可能性がありますExpressionEvaluatingRequestHandlerAdviceです。

0

エラーチャネルは、上流のコンポーネント(通常はフローを開始するもの)になります。

ゲートウェイにExpressionEvaluatingAdviceを追加する方法もあります。 the reference manualを参照してください。

関連する問題