問題タブ [bitronix]
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.
mysql - moquiで、mysqlを使うための設定とシードデータの読み込み
moqui で、mysql を使用するように構成しようとしています。derby をコメントアウトし、defaultconf で mysql のコメントを外しました。コネクタをフレームワーク lib にコピーし、フレームワーク build.gradle に依存関係を含めました。ロードの実行時に、このエラーが発生しました - java.lang .reflect.InvocationTargetExceptionjavax.management.InstanceAlreadyExistsException: bitronix.tm:type=JDBC,UniqueName=DEFAULT_transactional_DS,Id=0 -- 助けてくれてありがとう
transactions - セッションまたはロールバックをコミットできませんでした
私は jBPM5 を使用しており、Bitronix Transaction Manager (BTM) を jBPM プロセス永続ユニットで使用するトランザクション マネージャーとして構成しました。
過去 2 週間からすべてが正常に動作していましたが、突然次の例外で失敗し始め、その結果、アプリケーション サーバーが再起動されました。再起動後、すべてが正常に機能します。
例外スタックトレース:
大量のトランザクション/ワークフローを開始し、jbpm ライブラリ バージョン 5.5.0.Final の jbpm-human-task-core、jbpm-bpmn2、jbpm-persistence-jpa を使用しています。
誰かが正しい方向を指すのを手伝ってくれませんか?
どうもありがとう、マヤンク
jdbc - PoolingDataSource のプールから接続を取得できません
この制作の問題が頭をよぎります。jBPM5 ツールを使用して Bitronix をトランザクション マネージャーとして使用するように構成しました。長い間問題なく動作していましたが、突然以下の例外で壊れ始めました。
例外スタックトレース
奇妙なことは、アプリケーションが十分な数の XA 接続を XAPool で利用できることです。接続を取得し、接続を試みましたが、接続できず、接続を破棄して新しい接続を処理するだけです。
この問題から回復するために、誰か光を当ててください。
Update1 :
いくつか試してみると、同じ問題をローカルで再現できます。データベース接続がリセットされるか、アプリケーションとデータベース間のネットワーク接続が失われると、PoolingDataSource (Bitronix が提供) プール内のプール接続が無効になります。私の質問は、なぜ自動回復できないのですか? 新しい接続を自動回復または確立できる理由はありますか?
btm
バージョンを使用してい2.1.4
ます。
ありがとう、マヤンク
java - spring-boot で bitronix トランザクション マネージャーを作成する
次のように、Spring-Boot トランザクション マネージャー Bean を作成しようとしています。
しかし、私は得ています:
これは、自分で .getTransactionManager() を呼び出しているためだと思います。
ただし、そうでない場合、トランザクションマネージャーを作成するにはどうすればよいですか。
同等の xml は次のようになります。
java - 例による JTA トランザクション リソースの実装
私は、リモート/ネットワーク リソースを JTA に準拠させるための基本原則を理解しようとしていますが、この件に関するドキュメント/ブログ/記事がほとんどないことに驚いています。
私が独自の特別なタイプのサーバー、「IAmYourFaja」サーバー、または「IAYF」を作成したとします。IAYFCP (IAYF Comms Protocol) と呼ばれる、このサーバーと対話するための独自の TCP ベースのネットワーク プロトコルを作成/実装したとします。最後に、IAYFCP を介してリモート IAYF サーバーにアクセスしてメッセージを送信するための Java クライアント ライブラリを作成しました。まだ私と一緒に?
現在、次の分散トランザクションを実行する必要があるユース ケースがあります。
- リレーショナル/JDBC データベースにレコードを挿入します。それから
- IAYF サーバーにメッセージを送信します。それから
- メッセージを JMS ブローカーにプッシュする
いずれかのコンポーネントで障害が発生した場合に、すべてをロールバックして、これらのネットワーク リソースの状態が変更されないように、これらをすべて処理する必要があります。
最終的な目標は、次のコードを実行できるようにすることです (ここでは疑似コード)。
したがって、私が使用している JDBC ドライバーと JMS ライブラリーは、すでに JTA に準拠しています。つまり、このコードを可能にするには、IAYF クライアント ライブラリも JTA 互換にする必要があります。問題は、どの JTA インターフェイスを実装する必要があるのか わかりません。
いくつか質問があります:
- 実装する必要があるインターフェイス (およびその理由):
XAResource
、UserTransaction
、またはその両方? - JTA に準拠し、IAYF クライアント/サービスをトランザクション対応にするために必要なことはこれだけですか? 上記の「JTA の例」コードを期待どおりに動作させるために他に必要なことはありますか?
- 正誤問題: Java EE コンテナーには独自のトランザクション マネージャーがあり、ほぼゼロの構成で利用できますが、Java EE/JTA に準拠していないコンテナーでアプリを実行する場合は、独自のトランザクション マネージャーを提供する必要があります。これを達成するためにBitronixやAtomikosのようなものを使用できますか?
java - 警告: 0 の参加リソースでトランザクションを実行しています: Bitronix
Bitronix を使用して 2 つのデータソースに分散トランザクションを実行しているときに、「参加リソースが 0 のトランザクションを実行しています」という警告が表示されます。リソースをグローバルトランザクションに登録する方法を理解するのに役立つ人がいますか? 私のコードは次のとおりです。
spring - Bitronix + スプリング テスト + 異なるスプリング プロファイル
Spring テスト アプリケーション コンテキストを定義する同じルート テストをすべて拡張するいくつかのテストがあります。私のテストの 1 つは別のプロファイルを使用しているため、子クラスに で注釈を付けました@ActiveProfiles("specialTestProfile")
。このプロファイルは、コンテキストに注入される特別なモック Bean を作成します。このテストを実行する前後にコンテキストをクリアしたいのですが、正しい方法が見つかりませんでした。Spring テスト フレームワークがいくつかのコンテキスト キャッシングを行うこと、および私の場合は 2 つの異なるコンテキストが必要であり、コンテキストをリロードする必要がないことを知っていますが、そうしないとこの奇妙なエラーを生成する bitronix のために機能しません。コンテキストをきれいにします:
各テスト クラスのコンテキストをリロードしても (親クラスに@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS)
.
jboss7.x - HornetQ XA が Spring Boot との bitronix トランザクションに参加していない
スタンドアロンの Spring Boot アプリケーションから JBoss 7.1.1 で実行されている HornetQ JMS サーバーに接続しようとしています。サーバーにアクセスして、次のような構成でメッセージをキューにプッシュできます。
ただし、XA 接続は、Spring Boot の bitronix サポートを通じて有効にした JTA トランザクションに参加していません。データベース接続は JTA を使用しています。この JMS 接続を Spring Boot に取得させて、そのトランザクション マネージャーに XA リソースとして参加させるにはどうすればよいですか?
java - Java の AS7 (および JBPM 6.2) で使用する正しいトランザクション マネージャーは何ですか?
私が何時間もかけてそれを理解しようとする前に、誰かがこれに答えてくれることを願っています!
PoolingDataSource クラスを使用して、トランザクション マネージャーをインスタンス化しています。しかし、私はそれであまり成功していません。
MySQL は私のデフォルトのデータベースです。私は使用しています:
コードを実行すると、次のようになります。