問題タブ [jta]
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 - XA でなくても、トランザクションで複数の永続ユニットを使用することは可能ですか?
私たちのアプリケーションは、異なるデータベース (異なる商用ベンダーも) を指すいくつかの異なる永続ユニットを (読み取り専用で) 使用する必要があります。
それらの 1 つ (Sybase) で 2pc を有効にする予算がありません。XA トランザクションでなくてもトランザクションでこれらを使用する方法はありますか?
Websphere 6.1、Sybase 12.5.3、Oracle 10g、Java EE 5、JPA と Hibernate Entity Manager を使用しています。
更新: Oracle PU は月に 1 回か 2 回しか更新されませんが、sybase PU は非常に頻繁に (1 日に何度も) 更新されます。分離は間違いなく後者の懸念事項であり、2 つの間の一貫性を強制する必要はありません。
hibernate - JBoss から hibernate-entitymanager を JTA で動作させるにはどうすればよいですか?
コンテナ外 EJB テスト用のツールを構築しています。その中でHibernateのEntityManagerを正常に実行できました。今は JTA と統合して、トランザクションを厳密に制御できるようにしたいと考えています。
私が直面している問題は次のとおりです。Hibernate が JBossTS (JBoss の JTA 実装) で正しく動作するには、JNDI が必要なようです。UserTransaction
しかし、JNDI に s を登録する方法がわかりません。
ここで何が欠けていますか?JBossTS を JBoss の Hibernate で動作するように設定するにはどうすればよいですか? これに関するチュートリアルはありますか?
hibernate - Hibernate EntityManager + JOTM: トランザクションは使用されません
JOTM と Hibernate EntityManager を統合して、EJB をトランザクション方式の環境でコンテナの外でテストしようとしています。
私のテストは次のようになります。
- JOTMを開始
- JOTM の UserTransaction を JNDI に入れる
- StandardXADataSource を作成して構成する
- DataSource を JNDI に入れる
- 休止状態を構成し、EMF を作成する
- EM を作成する
- 取引を開始する
- EMで取引に参加する
- エンティティを保存する
- 保存されていることを確認する
- トランザクションをロールバックする
- データベースでレコード数を確認する
- すべてを壊して
私のコードは次のようになります: http://pastebin.com/m22a9f6b
ログ出力は次のとおりです。 http://pastebin.com/m6da9383a
テストはステップ 12 (行 121) で失敗します。
ご覧のとおり、トランザクションをロールバックしたにもかかわらず、DB にレコードがあります。まったく使用されず、レコードがデータベースに到達したトランザクションのようです。
これがどのように発生する可能性があり、それを修正する方法はありますか?
java - Mavenビルド環境でのAtomikos + Jetty - クラスローダーの問題?
複数の JDBC データ ソースと JTA を使用するプロジェクトに取り組んでいます。ビルド ツールとして Maven を使用しています。開発中に Jetty プラグイン (6.1.20) を使用してアプリケーションを実行したいと考えています。
Atomikosをトランザクション マネージャーとして使用するように Jetty を構成しようとしています。Jetty のAtomikos ドキュメントに従っていますが、Jetty の起動はクラス ローダーの問題のように見えて失敗します。
これが私の構成の関連ビットです。
runtime
my のスコープの依存関係pom.xml
:
私のjetty-env.xml
所在地/WEB-INF
(Jetty によって自動検出):
最後の のインスタンス化は失敗するビットです。省略した場合、Jetty は正常に起動します (もちろん、JNDI 経由でtx
は公開されません)。UserTransaction
スタックトレース:
これはクラスローダーの問題のように見えますorg.mortbay.jetty.plus.naming.Transaction
。コンストラクターが を受け取り、javax.transaction.UserTransaction
をcom.atomikos.icatch.jta.UserTransactionImp
実装javax.transaction.UserTransaction
しているにもかかわらず、Jetty は使用する適切なコンストラクターがないと不平を言っています。
ここには明らかに何かが欠けていますが、それは何ですか?
ありがとう!
hibernate - 1つのEntityManager(Hibernate)が複数の同時トランザクションに参加できますか?
1つのEntityManagerが複数の同時トランザクションにスムーズに参加できる方法はありますか?
まあ、それは同時ではありません。何かのようなもの:
- tx1を開始します
- tx1で何かをする
- tx2を開始します
- tx2で何かをする
- tx2をコミットする
- tx1に戻る
- tx1で何かをする
- tx1をコミットする
ステップが1つずつ続き、重複していません。
java - WebLogic で JTA トランザクションのタイムアウト値を取得する
JTA トランザクションのタイムアウト値を取得する方法はありますか? UserTransaction インターフェイスには setTransactionTimeout メソッドしかありません。WebLogic でその値を取得する特定の方法はありますか?
java - 長時間実行される Oracle DB クエリのシミュレーション
Oracle DB で長時間 (少なくとも数分) かかるデータベース クエリを実行する最も簡単な (できれば新しいテーブルを作成せずに) 方法は何ですか?
java - トランザクションを管理する最良の方法
私はJBossとHibernateベースのシステムを持っています。そして、2 つの長い操作を処理する必要があります。操作は、おそらくトランザクションのタイムアウトよりも長くなる可能性があります。その操作は、2 つの異なるトランザクションで多対多のエンティティを永続化します。そして、この操作中に何か問題が発生した場合は、トランザクションのすべての変更をロールバックする必要があります。
それを解決する最善の方法は何ですか?
すべての操作を 1 つのトランザクションにマージするのが最善の方法だと思いますが、長いトランザクション タイムアウトを設定する必要があり、私たちのシステムでは受け入れられません。
この状況では、多くのトランザクションをより適切に管理できますか。そして、どうすればそれを行うことができますか?