問題タブ [enterprise-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 投票する
3 に答える
2315 参照

java - 同時消費者はまだ秩序を確保する

非常に高速(> 100,000 /秒)で入力されるJMSキューがあります。

同じエンティティに関連する複数のメッセージが毎秒存在する可能性もあります。(エンティティに対するいくつかの更新。更新ごとに異なるメッセージとして表示されます。)

一方、このメッセージを処理して他のアプリケーションに送信するコンシューマーが1つあります。

現在、消費者は着信メッセージの速度に対応できないため、セットアップ全体の速度が低下しています。

コンシューマーがメッセージを処理する速度にはSLAがあるため、プロセスを高速化するために複数のコンシューマーを並行して動作させるというアイデアを検討してきました。

だから、私がやろうと思っているのは

  • キューで独立して動作する複数のコンシューマー。
  • 各消費者は自由にメッセージを取得できます。
  • メッセージを取得したら、エンティティの最新バージョンであることを確認してください。このため、一部、このエンティティを処理するアプリケーションで確認できます。
  • 最新でない場合は、バージョンを上げて再試行してください。

私はこれまで統合パターン、JMSドキュメントを調べてきましたが成功しませんでした。

既知のAPI、Javaの世界のパターンとともに、よりエレガントな方法でこの問題に取り組むためのアイデアを歓迎します。

0 投票する
4 に答える
4722 参照

.net - キャメル/スプリング統合のような統合フレームワーク.NET

私は現在、次のようなさまざまな通信方法で複数のシステムを統合するための優れたフレームワークを探しています。

  • FTP
  • 郵便
  • ウェブサービス

.NETアプリケーションで。Javaの場合、利用できるオプションはたくさんあるようですが、.NETプラットフォームに似たものは見つかりませんでした。

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

spring - 以前の機能を維持しながら Spring Integration を拡張しますか?

だから私はSpring Integrationに不慣れで、ほとんどSpringにも慣れていないので、すべての用語を理解していないかもしれませんが、次のシナリオに出くわしています:

3 つの SI フローを持つ小さな Spring Integration アプリケーションがあります...各フローには独自のゲートウェイがあり、各ゲートウェイには独自の要求チャネルと応答チャネルがあります。これらのフローは、null 呼び出し (集中的な目的のため... 基本的には「GO」シグナル/空のメッセージのみ) を受け取り、(些細な) ビジネス ロジックの結果に応じて、ステータス メッセージで応答します。

これらの各フローを 1 つの「マスター フロー」で実行するように接続して、個別に実行する機能を奪うことなく、1 つの要求が与えられるようにしたいと思います。また、アノテーション / XML (IE.メイン ゲートウェイのサービス インターフェイスを呼び出すコントローラーがあれば、追加のコードを注釈 / XML 構成の外部に記述する必要はありません。)

これは実行可能ですか、そのためにどの統合コンポーネントを使用する必要がありますか、および/またはこれらのゲートウェイのそれぞれがエンドツーエンドで互いに会うために予想されるチャネルを調整する必要がありますか (そうであれば、その戦略はどのようになりますか?ケースバイケースで各フローを呼び出すことができるように補正します)?

さらに、これが実現不可能な場合、サービス アクティベーターを使用して各子フローを呼び出すことが適切でしょうか? これ以上コーディングを避けたかったのですが、それが唯一の選択肢である場合は、そうしなければならないと思います。

ありがとう!

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

java - 同じメッセージチャネルで複数のタイプを許可するようにパブリッシュサブスクライブパターンを一般化するための適切なパターンは何ですか?

イベントが単一のチャネルにパブリッシュされるSpringパブリッシュサブスクライブセットアップを使用しています。

さまざまなイベントは互いにまったく異なり、タイプからリスナーの動作を導き出すのは面倒です。

私は十分なタイプを持っていますが、さまざまなタイプを処理するためのさまざまなメッセージチャネルの急増に慣れていないので、可能であればこれを防ぎたいと思います。

0 投票する
5 に答える
6660 参照

soa - エンタープライズ統合パターンソリューション描画ツール

EIPの観点から特定のユースケースソリューションをマッピングするために利用できる描画ツールがあるかどうかを知りたいです。MSVisio用のステンシルとOpenOffice用のSVG代替品があります。ステンシルの形状は良好ですが、プレゼンテーションに最適なグラフィックではないようです。EIPを描画するために利用できる代替手段はありますか?前もって感謝します。

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

java - Camel を使用したメッセージ リスナー

いくつかの本 (Camel in Actions) といくつかのチュートリアルを読んで Camel がどのように機能するかを理解しようとしていますが、実際には理解できないことがあります。基本的に、ユーザーが Web ページをクリックして特定のアクションを実行するたびに、Web アプリケーションからいくつかの Rabbit キューに送信されるいくつかのメッセージを処理する必要があります。

Maven プロジェクトを作成し、このプロセスを処理する構成ルートを定義します。私の疑問は、そのプロセスの実行に関連しています。私がよく理解していれば、使用して実行すると

CamelContext のインスタンスを作成し、キューを処理します。しかし、プロセスがキューで新しいメッセージを待っているかどうかは明らかではありません。リスナーやデーモンなど、キューで新しいメッセージを積極的にチェックするものを作成する必要がありますか、それとも Spring を使用して構成できますか?

御時間ありがとうございます!
アンドレア

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

java - Camel CBR と POJO プロパティ検査

Orderインスタンスをルーティングする Camel ルートがあります。

特定Orderの が の注文である場合、 などWidgetにルーティングする必要があります。direct:widgets

私は各when(...)メソッドの中に何を入れるべきかについて窒息しています。私が持っているのは合法的な Camel DSL 構文ではなく、私が達成したいことを説明するために使用されます。

だから私は尋ねます:私が探している種類のルーティングを達成するために、各メソッドに何を入れますか? when(...)前もって感謝します!

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

java - Spring Integration: 順序付けられたサブスクライバーを使用したパブリッシュ/サブスクライブ チャネルでの例外処理

タスク エグゼキューターで構成されたパブリッシュ/サブスクライブ チャネルが与えられた場合、例外がスローされた場合に、順序付けられたサブスクライバーの呼び出しが中断される可能性はありますか?

たとえば、この例では、「worked」メッセージは、シーケンス内の 2 番目のサービス アクティベーターによって引き続き送信されます。私はこれが起こらないことを望みます。

Fileこれの実際の使用例は、aが 2 つのサブスクライバーに発行され、1 つはコンテンツの解析用で、もう 1 つは S3 へのアーカイブ用であるという点で、やや複雑です。シーケンスが適用されるため、両方のタスクが完了したら、後で集約して削除できます。

S3 アップロードは、応答を返さないアウトバウンド チャネル アダプターで実現されます。orderそのため、最初に S3 アダプターを (属性を使用して) 呼び出してからブリッジに送信するパブリッシュ/サブスクライブ チャネルがありFile、ブリッジはそれを、集約されたメッセージを収集するチャネルに配置します。

S3 アップロードが失敗した場合、ファイルを削除したくないので、アップストリーム チャネルの 2 番目のサブスクライバーを呼び出してはなりません。

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

java - Camel Splitter は、NotifyBuilder によって表示される不適切な数の Done Exchange を生成しますか?

Camel 2.10.3を使用しています。

次のようなルートがあるとします。

そして、NotifyBuilder に続いてそれを実行し、スプリッターが本来すべきことを行っていることをアサートするテスト クラス。

また、sampleEventsInArrayJsonString が次のような json 配列であるとします。

そのjson配列には7つのオブジェクト要素があります。

テストはすぐに失敗します。ただし、テストの出力には、"Received: {}" の 7 つのログ メッセージが明確に表示されます。

さて、ここが楽しい部分です... NotifyBuilder で .whenExactlyDone(8) を設定すると、テストに合格します。その8番目のメッセージは一体どこから来ているのでしょうか? このテストは有効であると言いたいだけでなく、少なくともメッセージがその json 配列から分割されていることがわかっているので (NotifyBuilder の内容を確認していないという事実を無視して)、それを 1 日と呼びたいと思いますが、私は属していないルートを介して送信された 8 番目の交換が実際にあることを懸念しています。NotifyBuilder が、7 ではなく、そのルートを介して行われた 8 つの交換を確認する理由は何ですか?

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

messaging - EAI - メッセージング ブリッジとメッセージ トランスレータ

Spring Integration と Enterprise Integration Patterns について読んでいます。

Messaging Bridge パターンに行き詰まっています: http://enterpriseintegrationpatterns.com/MessagingBridge.html http://static.springsource.org/spring-integration/docs/2.0.0.M3/spring-integration-reference/html /bridge.html

メッセージ処理に関して、メッセージング ブリッジとメッセージ トランスレータの違いは何ですか? どちらも、異なるフォーマットを必要とする 2 つのエンティティが連携できるようにするものではないでしょうか?