問題タブ [fuseesb]
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 - 返信は返信キューから消費されません
InOut パターンのメッセージを JMS キューに送信し、replyTo を事前定義されたキューに設定します。すべてが正常に機能することもあれば、camel がそのキューからの応答を読み取らず、TimedOutException で失敗することもあります。(AMQ Web コンソールを使用して) 応答キューに 2 つ以上のコンシューマーが表示されることがありますが、camel はそれを消費しません。
(AMQ Web コンソールを使用して) 応答キューに 1 つのコンシューマーが表示されると、すべて正常に動作
し、(AMQ Web コンソールを使用して) 応答キューに多数のコンシューマーが表示されると、camel はそのキューから応答を読み取らず、TimedOutException で失敗します。
環境 : Fuse ESB
Java コード
アクティブ mq 構成
この構成は camel-context.xml ファイルに記述されており、同じファイルには別のルートに使用される別の activemq 構成があります。
アドバイスいただけますか?
apache-camel - Fuse ESB 7.1.0 での「Cannot rollback() inside an XASession」エラー
昨日、バンドルを ServiceMix 4.4.1 から Fuse ESB Enterprise 7.1.0 に移行しようとしました。ローカル トランザクションを含むバンドルは問題なく動作しますが、XA トランザクションを含むその他のバンドルはうまく動作しません。次のメッセージを含むトレースバックを継続的にログ ファイルに書き込みます。
空のキューで発生します。
私の activemq エンドポイント構成は次のようになります。
このエンドポイントは、キャメル コンテキストで次のように非常に簡単に使用できます。
誰かがこの問題を解決するのを手伝ってくれたらうれしいです。必要に応じて詳細を提供できます。
編集
問題は JMS 接続プールに関連しているようです。接続ファクトリを単純な ActiveMQXAConnectionFactory に変更すると、例外が消えます。
http - Fuse ESB-Apache Camel:外部WebコンテナでホストされているRESTサービスの呼び出し中にNullPointerExceptionを取得する
TomcatでホストされているRESTWebサービスを呼び出しているときにNullPointerExceptionが発生します。ルートは次のようになります。
私は、rabbitMQから読み取ったオブジェクトを文字列XMLに変換するカスタム型コンバーターを作成しました。これをパラメータとしてWebサービスに送信する必要があります。
私<log message="message: ${body}" />
はrabbitMQから読み取った後を使用し、型コンバーターはオブジェクトを文字列に正常に変換しました。
Caused by: org.apache.camel.TypeConversionException: Error during type conversion from type: java.lang.String to the required type: org.apache.commons.httpclient.methods.RequestEntity with value
activemq - XA トランザクションは本当にアトミックですか?
XA トランザクションのしくみを完全には理解していないようです。アトミックだと思いました。トランザクションをコミットすると、新しいメッセージと新しいデータが同時に利用可能になると思いました。
この誤解により、次の問題が発生しました。新しい行が DB に挿入され、メッセージがトランザクション ルートのキューに送信されます。別のルートでメッセージが受信されます。次に、このルートは、前のルートで挿入された行でいくつかの操作を実行しようとします。しかし、それはそれらを見ません!
2 番目のルートは、例外が発生したときにメッセージをキューにロールバックするように構成されています。そして、2 回目の実行後、ルートが行を認識していることがわかります。
結論として、次の質問をします。
- XA トランザクションは本当にアトミックですか?
- いいえの場合、トランザクション リソースのコミット順序を構成するにはどうすればよいですか?
追記:この問題は Fuse ESB/ServiceMix 4.4.1 で発見されました。
2 Jake: 私のキャメル コンテキスト構成は次のようになります。
DB データ ソースは次のように構成されます。
testing - OSGIコンテナでのfuncの統合テスト
私はFuseESBを使用して、本質的にOSGIコンテナー(Felix)であるアプリを実行しています。統合モードでOSGIサービス(DB、外部サービスなどの外部依存関係を含む)でテストするアプローチを考えたいと思います。最初に考えたのは、特定のバンドルをコンテナーに実行する機能です。これには、このバンドルで定義されたテストの実行にすべてのアプリサービスが含まれます。誰かがその種の問題を手伝うことができますか?ありがとう!
jdbc - ariesトランザクションマネージャはいつjdbc接続を閉じますか?
FUSE ESB 7.1.0 で aries トランザクション マネージャーがどのように動作するか完全には理解できません。以下の状況について、どなたか教えていただけると幸いです。
私はバンドルで jdbc XADataSource (org.postgresql.xa.PGXADataSource) を使用していますが、ここに私が見ているものがあります。 DB にコミットします。接続はアイドル状態のままになります。しかし、しばらくすると、それらは最終的に閉鎖されます。
これにより、接続プールを使用しようとすると大きな問題が発生しました。アプリケーションが接続プールを非常に高速に使い果たし、開いているすべての接続がビジー状態のままになります。
aries トランザクション マネージャーについて次の質問があります。
- jdbc接続を閉じるのはいつですか?
- メッセージが処理され、変更がコミットされたときに、jdbc 接続を閉じるように指示するにはどうすればよいですか?
osgi - CamelコードをServiceMix(FuseESB)にデプロイするときにOSGiに要件org.wiring.package=org.hsqldbがありません
Camelコードをいくつか作成しましたが、WindowsでFuseESB v7.10にデプロイすると、ログに次の例外が発生します。
プロジェクトは、Blueprint OSGi xmlファイルを使用してBeanを定義し、Mavenを使用して(OSGiバンドルではなく)jarとしてビルドし、デプロイディレクトリにホットデプロイするため、FuseESBFABデプロイヤーによってデプロイされます。Maven POMのHSQLDBに明示的に依存していないため、これは推移的な依存関係であると思います。ただし、関連するバンドルと思われるものを次のようにインストールしようとしました。
osgi:install mvn:org.apache.servicemix.bundles / org.apache.servicemix.bundles.hsqldb / 1.8.0.10_2
このバンドルは、Karafコンソールでアクティブとして表示されます。
コマンドpackages:exportsを実行すると、正しい依存関係がこのバンドルによってエクスポートされることが示されているようです。
ただし、バンドルを開始できず、同じエラーが発生します。何か案は?
java - BundleActivator を実装するのではなく、メイン クラスから osgi バンドルを開始する
Floodlight.jar という名前の jar ファイルがあります。cmd 行で実行できます: java -jar floodlight.jar. これをバンドルに変換して、FUSE ESB コンテナーでデプロイしたいと考えています。これが私がこれまでにしたことです:
変換:
Floodlight.bar という名前のバンドルになります。名前を Floodlight.jar に変更します
配備
/li>
バンドルがコマンドラインで行ったことと同じことを実行できることを願っています: Java -jar floodlight.jar が開始されたら。しかし、何もせずにアクティブです。ライブラリのように振る舞うだけです。
バンドルが開始されたら、メインクラスを実行する方法を知りたいです。誰でも私を助けることができますか?
apache-camel - ServiceMix(FuseESB)は、jarの起動時にCameljavascriptサポートを見つけることができません
CamelルートをFuseESBにデプロイする場合、FuseESBがjarファイルを起動しようとすると、ログに次の例外が発生します。
これにより、バンドルは数分間猶予期間に入り、その後タイムアウトになり、ステータスは失敗に移行します。アプリケーションでjavascriptを使用していないことに注意してください。ただし、Camelコアのロードの一部としてロードされていると想定しています。
私のセットアップの詳細:
- 問題のコードは、OSGiブループリントxmlファイルを使用してBeanを定義して記述されています。
- コードは、OSGiバンドルではなく、jarとしてパッケージ化されています。
- コードはデプロイディレクトリにドロップされることでデプロイされるため、FABデプロイヤーによってデプロイされます。
関連するCamel機能がインストールされていると思います。
features:listからの出力:
web-services - サービスレジストリ (例: UDDI) を FuseESB に追加する方法は?
Red Hat Fuse ESB を使用しています。
サービスのエンドポイントを実行時に検出するために、「サービス レジストリ」の概念 (例: UDDI) を使用したいと考えています。
実現可能!?
どうもありがとう