問題タブ [integration-patterns]
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.
java - 重複をフィルタリングする Camel EIP
メッセージをキューからデキューし、それを処理のために Bean に送信してから、メッセージを別のキューにエンキューする Camel ルートがあります。
2 番目のキューで「重複メッセージ」を排除しようとしています。Camel には、2 番目のキューに送信される前にメッセージを重複排除するように構成できるエンドポイント、プロセッサ、EIP などがありますか?
例:
更新:おそらく次のようなもの:
Ralf の提案に従って、内部の Bean を参照し<method></method>
、キャッシュを使用してメッセージをメモリに保持することができました。
この新しい Bean が呼び出されFilterBean
、そのdedupe()
上にメソッドがあったとします。どうすればそれを Spring XML に結び付けることができますか? また、Bean がルート内から呼び出されるために実装する必要があるクラス/インターフェースは何ですか?
c# - このパターンに名前はありますか
私はこのパターンをさまざまな場所で何度も使用してきましたが、通常はプラグイン パターンと一緒に使用しました。
私がこれを使用したいくつかの例は、さまざまなタイプの無関係なメッセージへのサブスクライバーを作成するなど、メッセージング システム用です。また、それぞれが異なる形状のコンテキスト オブジェクトを必要とする一般的な統合ワークフローにも使用しました。
基本的に、パターンは、メッセージまたはコンテキストの空白のマーカー インターフェイスを定義することで構成されます。次に、メッセージ/コンテキスト インターフェイスと連携する高レベルのワークフロー インターフェイスを定義します。次に、ファクトリを使用してワークフローの具体的なインスタンスを取得できます。必要に応じて、ワークフローは、共通のデータ形式からメッセージ/コンテキストを解析することもできます。
次に、不要なマーカー インターフェイスを通過するインターフェイス メソッドへの呼び出しを、メッセージ/コンテキストの具体的なバージョンを取得する抽象メソッドへの呼び出しにマップすることだけを担当する抽象汎用基本ワークフローを作成します。
うまくいけば、それは理にかなっています。以下にコード例を示します。このパターンに名前があるかどうか知りたいです.4〜5回ほど使用していることに気づいたからです. また、私はパターンを説明する方法を肉付けしているだけなので、私の説明について何か意味がない場合は、それもお知らせください.
重要な点は、共通のインターフェイスを介して呼び出すことができる、異なるメソッド シグネチャを持つ複数のクラスを持つことができるということです。
最終結果
完全な例
高レベルのインターフェース
具体的なメソッドにマッピングするための抽象ベース
マッピング属性
具体的な実装
工場
使用例
java - joinTransaction が ApacheCamel のリソースローカル EntityManager で呼び出されました
私はapache camelを初めて使用し、テーブルからポーリングしてレコードを表示するためにcamel-jpaをテストしています
以下はメインクラスです
以下はjparouterクラスです
私はpersistence.xmlとそのMETA-INFの下を構成しました。実際、EclipseではJavaプロジェクトを開始してからJPAファセットを設定します
persistence.xml
しかし、次のエラーが発生します。
recursion - Apache Camel の無限ループ
ルートを作成する必要があります。このルートは、反復間のわずかな遅延で定期的にプロセスを呼び出します。
ループのドキュメントを見ると:
ループはメッセージを何回も処理することを可能にします。おそらく反復ごとに異なる方法で処理します。主にテスト中に役立ちます。
したがって、無限ループを実行する必要があるため(CamelLoopSize
明示的に指定せずに)、これは役に立ちません。
私の2番目のアイデアは、一種の「再帰」を使用することでした:
これは数日間はうまく機能しますが、約 600 回の反復の後、これは失敗します。StackOverflowException
プロセスを無限ループで実行するより良い方法はありますか?
java - カスタム Spring 統合送信ゲートウェイの実装
Spring Integrationで送信ゲートウェイのサービス実装を指定するには? アウトバウンド ゲートウェイが双方向通信用であり、一般に外部システムとの統合を提供するために使用され、サービス アクティベータがローカル サービス コール用である場合、カスタム トランスポート/外部システム用のアウトバウンド ゲートウェイを実装する方法は? ゲートウェイの名前空間では、受信ゲートウェイのサービス インターフェイスを設定できますが、送信ゲートウェイのサービス実装についてはどうでしょうか。
java - Camel ノーマライザー Bean が登録されていません
ここに書かれている方法でノーマライザーを実装しようとしています: http://camel.apache.org/normalizer.html
私はこの例外を受けています:
RouteBuilder の .configure() は次のようになります。
ノーマライザーは次のようになります。
そのコードを RouteBuilder に追加する方法について、1 つの解決策を見つけました。
しかし、結果は出ませんでした。では、ここで何が問題になるのでしょうか?
integration - SAP 統合パターン RFC BAPI + アウトバウンド IDOC
私は、すべての SAP 統合パターン (およびその点でのアンチパターン) を理解しようとしています。
私が確信しているのは、次のパターンです。
- 同期 BAPI
- 非同期 BAPI
- IDOC (インバウンド + アウトバウンド、または一方向のみ)
SAP との実際の統合を行っているときに、BAPI RFC 要求と応答としてのアウトバウンド IDOC のパターンにも気付きました。これも有効なパターンですか?
誰かが SAP とのさまざまな統合パターンのドキュメント ソースを持っていれば幸いです。
ありがとう。