問題タブ [spring-integration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
9911 参照

spring-integration - SPeLを使用したSpringIntegrationフィルター式

許可された値のリストを持つ構成Beanがあります。

メッセージヘッダーに「someValue」というフィールドを入力しました。フィルター要素を使用して、someValueが許可された値のリストにないメッセージを除外したいと思います。

私のコンテキストは次のようになります。

しかし、私は得ます:SpelParseException: EL1041E:(pos 1): After parsing a valid expression, there is still more data in the expression: 'comma(,)'

0 投票する
1 に答える
3312 参照

spring-integration - Pub-Sub エラー処理戦略

これが私のチャンネル設定です:

  1. jdbc メッセージストアでサポートされるキュー
  2. キューを pub-sub チャネルに接続するブリッジ
  3. pub-sub チャネルで構成されたポーラーはトランザクション対応です

サブスクライバーのいずれかで例外が発生すると、トランザクションはロールバックされ、メッセージは永遠に再試行されます。メッセージは、すべてのサブスクライバーによって再び処理されます。これが少なくともサブスクライバーの永続的な例外である場合、メッセージは他のサブスクライバーによって処理されていません。

ここで最良の例外処理戦略は何ですか?
サブスクライバーでの例外処理を好みます。つまり、失敗したサブスクライバーのみが再試行し、他のサブスクライバーはメッセージを処理して先に進みます。

これは春の統合でどのように実装できますか?

詳細はこちら..

  1. ポーラーがトランザクション化され、少なくとも 1 つのサブスクライバーでメッセージの処理が失敗した場合、メッセージはメッセージ ストアにロールバックされ、再試行されます。また、errorChannel の jdbc メッセージ ストアも構成しました。メッセージ処理が失敗するたびに、メッセージは元のメッセージ ストアにロールバックされ、エラー チャネル メッセージ ストアには再試行ごとに 1 つのエントリが含まれます。

  2. ポーラーが非トランザクションになり、メッセージが最初のサブスクライバーでの処理に失敗した場合、メッセージはエラー チャネルに置かれますが、2 番目のサブスクライバーはメッセージを取得しません。

何か根本的に間違っているようです..それは私の設定にありますか?

0 投票する
0 に答える
3353 参照

spring - Spring 統合ファイルの読み取りの問題

春の整数​​化は素晴らしいように聞こえますが、私は春の統合が初めてです。私には1つの要件があります春の整数化を使用する

  1. txt ファイルを読み取ります (ソース フォルダーから)
  2. いくつかの検証を行います
  3. 検証が成功した場合 - sucess ファイル (success フォルダー内) に書き込む
  4. 検証が失敗した場合 - 失敗ファイルに書き込みます (エラー フォルダー内)。

私の設定ファイルはこのようなものです

私のcheckFlatPackCVSParserWrapperクラスは

sampleFileFormat.xml は

そして、私の ErrorChannelWriter は

そして私の検証クラスは

そして私の ListToStringTransformer は

および2つのフィールドを含む私のファイル

ここで、ファイル形式が間違っている場合、そのレコードはエラー ファイルに移動しますが、検証クラスが失敗した場合 (ここでは例: ファースト ネームが Maya と等しいことを確認し、実行時例外をスローしています)、そのレコードは移動しません。エラーファイルに。どうすればタスクの提案を達成できますか?

0 投票する
3 に答える
14120 参照

java - Spring Integration:デフォルトの出力チャネルを持つコンテンツベースのルーター?

式の値がどのマッピングにも一致しない場合、Spring Integration を使用して、デフォルトの出力チャネルを使用するコンテンツ ベースのルーターを実装したいと考えています。これが私のBean定義です:

ただし、デフォルトの出力チャネルは使用されていないようです。式が「baz」などと評価される場合、ルーターは「channel_default」チャネルにルーティングするのではなく、「baz」という名前のチャネルを探しているようです。

XML 名前空間を使用して、私が望んでいることはまったく可能ですか?それとも、独自の実装をコーディングする必要がありますか?

0 投票する
2 に答える
4738 参照

java - Spring Integration 2.0.5 を使用してコンテンツに基づいてメッセージをルーティングする方法は?

si-xml:xpath-router の使用を開始しましたが、障害に遭遇しました。正しいルーターを使用していますが、実装が間違っていますか? 間違ったルーターを使用している場合、デフォルト ルーター、ペイロード タイプ、または単純な SpEL 式のどれを使用すればよいですか?

使用事例:

ペイロード コンテンツに基づいてメッセージをルーティングする必要があります。リクエストには要素が含まれており、実行する必要がある「アクション」は、その属性の場合に含まれています。以下の属性「コマンド」を参照してください。

インバウンド要求の例 (Web サービスからのもの)。

疑似コードは次のとおりです。

  • マーシャルメッセージ。
  • xpath-router 経由の値に基づくルート

しかし、私はエラーが発生しています:

サポートされていないペイロード タイプ [javax.xml.transform.dom.DOMResult]


これを解決するために、私は試しました:

  • ResultToDocumentTransformer を使用して、Transformer Bean に属性「result-transformer」を追加します。エラー= チャネル名の解決に失敗しました ''

  • StringResult を使用して、トランスフォーマーに属性「result-type」を追加します。エラー= サポートされていないペイロード タイプ [org.springframework.xml.transform.StringResult]

  • 上記の両方を追加します。エラー= チャネル名の解決に失敗しました ''

  • true を使用して属性「evaluate-as-string」を追加します。エラー= サポートされていないペイロード タイプです。


以下の元の構成ファイル:

0 投票する
1 に答える
4273 参照

spring - Spring Integration:集計を使用した後、メッセージを再度分割しますか?

Spring Integration を利用したプロジェクトでは、データをさまざまなトランスフォーマーに送信するためのスプリッターとペイロード ルーターがあります。次に、新しい「変換された」オブジェクトがアグリゲーターに戻されて処理されます。

オブジェクトの一部を別のアウトバウンドチャネルアダプターにルーティングする必要があるため、集計結果を分割して適切に永続化したいと考えています。これを実現するために、アグリゲーターの後に 2 つ目のスプリッターを追加しました。しかし、集約されたコレクションの最初の要素だけがルーターに渡されるようです。

これは私の現在の流れです:

そして私のアグリゲーターコード:

私は何を間違っていますか?アグリゲーターを適切に使用していますか?

注: アグリゲーターと 2 番目のスプリッターの両方を完全に削除すると、残りのフローは完全に機能します。

0 投票する
1 に答える
267 参照

spring - 同期 JMS 呼び出しにかかった時間をログに記録する

春の統合プロジェクトでは、メッセージを同期的に送受信するための送信ゲートウェイがあります。このような操作にかかった時間を記録したいと思います。

検索してみましたが、AOP と PerformanceMonitorInterceptor を使用してメソッドをトレースする例しか見つかりませんでした。

0 投票する
1 に答える
508 参照

spring - SpringIntegrationJMSアウトバウンドアダプタのトランザクション制御

トランザクションが有効になっているjmsを使用してメッセージを高性能に生成するには、各トランザクションで送信されるメッセージの量を制御する必要があります。数値が大きいほど、パフォーマンスが高くなります。

春の統合を使用してそのような方法でトランザクションを制御することは可能ですか?

アグリゲーターの使用を提案する人もいるかもしれませんが、キューにX個の小さいメッセージを含む1つのメッセージが必要ではなく、実際にはキューにX個のメッセージが含まれるため、目的が果たせません。

ありがとう !

0 投票する
1 に答える
3428 参照

spring-integration - http:outbound-gateway 応答チャネルを一般化する

ws へのサービス呼び出しを処理するゲートウェイが与えられます。私の目標は、複数のメソッドを追加し、1 つだけを利用したいので、 http:outbound-gateway's reply-channelusingを提供することです。header-enrichergatewayhttp:outbound-gateway

現在、groovy スクリプト (2) までの応答を受け取ることができますが、サービスを呼び出す実際のメソッドに結果を返したくないようです

どんな助けでも大歓迎です。ありがとう!