1

私は、EJB上に構築された既存の統合システムの一部を置き換える可能性のある小さな概念実証のCamelベースのアプリケーション(FuseESB上で実行)を構築しようとしています。現在、ApacheCamelを使用して次のシナリオを処理するための最良の方法を見つけようとしています。

  1. JMSテキストメッセージが届きます
  2. メッセージの内容に基づいて、主に保存されている手順/関数を呼び出して、一連のデータベース操作を実行する必要があります
  3. db呼び出しによって取得された結果から、応答メッセージを作成して特定のjmsキューに送信する必要があります。
  4. エラー/例外の場合、デッドレターチャネル処理メカニズムを使用したいと思います。

単純なキャメルルートを構築でき、キャメルでのエラーと例外の処理も簡単に見えます。取得できないのは、Camel SQLコンポーネント(JDBCコンポーネントはトランザクションクライアントにはできないことを理解しています)を使用して、すべてのdb呼び出しを一部として行う方法です。単一トランザクションの。ネット上で見つけたところによると、Camel SQLコンポーネントを使用してストアドプロシージャを実行することはできません-本当ですか?そうである場合、jdbc呼び出しを行うためにプロセッサまたは単純なpojoクラスを使用する必要がありますか?pojoまたはプロセッサタイプを使用する場合のトランザクションはどうですか?このようなユースケースの処理方法を説明するリソースへのポインタをいただければ幸いです。

4

1 に答える 1

1

複数の呼び出しを行い、ストアド プロシージャを使用する必要があるため、Java Bean を使用して JDBC 対話を行うことをお勧めします。Java コードの方が簡単な場合もあります。

たとえば、Spring JdbcTemplate は JDK JDBC API を適切に抽象化しており、ストアド プロシージャの呼び出しをかなり簡単にします。

代わりに、MyBatis はストアド プロシージャの呼び出しもサポートしています。 http://loianegroner.com/2011/03/ibatis-mybatis-working-with-stored-procedures/

また、camel-mybatis コンポーネントもあります。

于 2011-12-21T10:30:08.723 に答える