問題タブ [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.

0 投票する
1 に答える
7807 参照

mysql - 接続URL'nullのクラス''のJDBCドライバーを作成できません

jndiサポートのためにTomcat5.5でAtomkiosを使用してJTAトランザクションを構成しようとしていますデータベースにアクセスしようとするとspring、jpa + hybridateを使用していますが、次のようなエラーが発生します

私のconfig.xml

私のアプリケーションでは、web.xmlは

私がここでした間違いは何ですか?

0 投票する
2 に答える
577 参照

java - jtaトランザクション

私は次のようにjtaトランザクションのコードを持っています:

なぜutxが最終的にコミットされるのか理解できませんか?

0 投票する
4 に答える
3985 参照

jakarta-ee - @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) を使用してもトランザクションが自動作成されない

Java EE 6 アプリにそのようなマネージド Bean があります。

@TransactionAttribute を理解している限り、新しいトランザクションは自動的に作成されるはずです。しかし、例外が発生しているため、明らかにそうではありません。javax.persistence.TransactionRequiredException: EntityManager must be access within a transaction

私の持続性ユニットにはtransaction-type="JTA"属性があります。JBoss 6 cr1 を使用しています。

0 投票する
1 に答える
841 参照

java - Spring JTA トランザクション内にローカル トランザクションを作成する

JTA トランザクション内でストアド プロシージャを実行したいのですが、何らかの理由で代わりにローカル トランザクションを使用する必要があります。このためにローカル トランザクション マネージャーを使用してポイントカットを作成しましたが、以下のように例外がスローされました。誰もそのような問題を抱えていましたか?これをどのように解決しますか?

*

*

0 投票する
1 に答える
2683 参照

java - JPAトランザクションのロールバックが機能していません

こんにちはすべて私はhybernate+JPAを使用してアプリケーション構成を行い、XAトランザクション管理とSpring 3.0のatomikosとmysqlは私のバックエンドです。ここではすべてが正常に機能していますが、例外がスローされたときにトランザクションを挿入すると、トランザクションはロールバックされますが、起きていません!!これが私たちのアプリケーションの小さなフローです。私たちのマネージャーレベルでは、私たちはビジネスと呼んでいます(ここではSpringIOCを使用しています)

business.java 1つのメソッドinsertuser()を使用しています

そして、1つのメソッドinsertuser(Object entity)を使用しているdao.javaクラス

と私たちのorm.xml

そして私のpersistence.xmlファイルは

そして、application / meta_inf/context.xmlでjndiを構成しました

私の設定ファイルはconfig.xmlです

問題はどこにありますか?実際、テーブル内のプロパティを更新しようとすると、トランザクションは正常に機能します(ロールバックとコミットが発生します)が、挿入操作を実行しようとすると、ロールバックは発生しません。

0 投票する
3 に答える
3090 参照

java - EntityManager は、他のトランザクションで行われた変更を認識しません

GlassFish 2.1.1 (私の知る限り、JavaEE 5、JPA 1.0) 用のアプリケーションを作成しています。サーブレットに次のコードがあります (主にインターネット上のサンプルから借用しました)。

web.xmlその中に次のものがあります。

問題は、em が別の外部トランザクションで行われた変更を認識しないことです。大まかに言うと、Web ブラウザからサーブレットにリクエストを送信し、データを表示し、SQL コンソールで DML を実行し、サーブレット ページをリロードしますが、何も変化がありません。em.flush、 、 、utx.rollbackの多くの組み合わせを使用しようとしましem.joinTransactionたが、効果がないようです。

私がJPAの初心者であるため、状況は複雑です。そのため、基礎となる機械がどのように機能するかを明確に理解していません。したがって、ヘルプと、さらに重要なことに、そこで何が起こっているかについての説明/リンクをいただければ幸いです。ありがとう!

0 投票する
1 に答える
2162 参照

java - Atomikos ログでの UserTransaction の「TERMINATED」状態は何を意味しますか?


J2SE アプリケーションで Atomikos エッセンシャル トランザクションを TM として使用しています。
次のコードがあります。

そして、ログに次の例外が表示されます。

java.lang.IllegalStateException: TM_UNIQUE_NAME0003000006 はアクティブではなくなりましたが、状態はTERMINATEDです com.atomikos.icatch.imp.CoordinatorImp.addParticipant(CoordinatorImp.java:615) で com.atomikos.icatch.imp.TransactionStateHandler.addParticipant(TransactionStateHandler.java:133) で com.atomikos.icatch.imp.TransactionStateHandler.committed (TransactionStateHandler.java:347) com.atomikos.icatch.imp.TransactionStateHandler.commit(TransactionStateHandler.java:298) com.atomikos.icatch.imp.CompositeTransactionImp.doCommit(CompositeTransactionImp.java:319) com.atomikos. icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:79) com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:236) com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java: 496) com.atomikos.icatch.jta.UserTransactionImp.commit(UserTransactionImp.java:129) com.mycompany.module.com.mycompany.module.model.myClass.notifyObservers(myClass.java:291) の java.util.Observable.notifyObservers (不明なソース) の view.myOtherClass.transformMpr(myOtherClass.java:57)。 model.myClass.MultiStateEscalation.run(myClass.java:91) で java.util.concurrent.Executors$RunnableAdapter.call(不明なソース) で java.util.concurrent.FutureTask$Sync.innerRun(不明なソース) で java.util java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301 の .concurrent.FutureTask.run(不明なソース) java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(不明なソース) で java.util.concurrent. ThreadPoolExecutor$Worker.runTask(不明なソース) java.util.concurrent.ThreadPoolExecutor$Worker.run(不明なソース) で java.lang.Thread.実行 (不明なソース)

の 57行目は、上記のコードでmyOtherClass呼び出す行です。commit()userTransaction は のインスタンスですUserTransaction私が理解できないのは、 TERMINATED
と はどういう意味ですか? Atomikos ディストリビューションでこれらのクラスを見つけることができませんでした (これらのクラスはオープン ソースであり、さらにすべてのソースで文字列のテキスト検索を実行したため奇妙です)、終了は で定義されているステータスの 1 つではありません。 誰かがこれに遭遇しましたか?保持している userTransaction が commit に対して有効かどうかを確認するにはどうすればよいですか? javax.transaction.Status

ありがとう、
イッタイ

0 投票する
2 に答える
5530 参照

java - JPA2 + Hibernate 3.6.0のJTAまたはLOCALトランザクション?

私たちは技術スタックを再考する過程にあり、以下が私たちの選択です (アプリの複雑さなどにより、Spring と Hibernate なしでは生きられません)。また、J2EE 1.4 から Java EE 5 に移行しています。

技術スタック

  1. JavaEE5
  2. JPA 2.0 (Java EE 5 が JPA 1.0 のみをサポートしていることは知っていますが、Hibernate を JPA プロバイダーとして使用したいと考えています)
  3. Hibernate 3.6.0 (カスタム タイプなどの多くの hbm ファイルが既にあるため、現時点ではそれらを JPA に移行したくありません。つまり、jpa/hbm マッピングの両方を連携させて、Hibernate を JPA として動作させる必要があることを意味します) App Server に付属のデフォルトを使用する代わりにプロバイダー)

問題は、私はローカル トランザクションに固執したいのですが、他のチーム メンバーは JTA を使用したいということです。私は過去 9 年間 J2EE を使用してきましたが、2 フェーズ コミットが必要ない場合は、ローカル トランザクションを使用することを勧める人々の声を何度も耳にしました。これはパフォーマンス上の理由だけでなく、ローカル トランザクションのデバッグ/トラブルシューティングは JTA よりもはるかに簡単です (JTA が必要なときに単一フェーズ コミットのみを行う場合でも)。

私の提案は、コンテナー JTA の代わりに、Spring 宣言型トランザクション管理 + ローカル トランザクション (HibernateTransactionManager) を使用することです。

私が偏執病なのか、それとも正当な主張があるのか​​ を確認したい. Java EE の世界の残りの部分がどう思うか聞きたいです。または、適切な記事を教えてください。

0 投票する
1 に答える
6641 参照

java - org.apache.openjpa.persistence.EntityExistsException in jpa

2 つのデータベース A と B のトランザクションを管理する JTA トランザクションがあります。現在、jta トランザクション内に、データベース A からエンティティを返すメソッドがあります。主キーにいくつかの異なる値を設定する方法 (主キーは複合主キーです) )そしてエンティティを新しいレコードとして永続化しますが、次の例外が発生しています:

私はネットで検索し、私のようにこの投稿を折りたたみます: http://openjpa.208410.n2.nabble.com/persisting-an-entity-and-JPA-behaviour-with-referenced-entities-td210469.html

0 投票する
2 に答える
1052 参照

hibernate - 休止状態のトランザクションの安全性(JBossあり、なし)

現在、Hibernateとtomcat(JBossなし)のみを使用しており、実際に使用しているトランザクションの安全性レベルが明確でないHibernateトランザクションがあります。特に、値を読み取って取得してから更新するトランザクションの場合はそうです)。したがって、私は汚れた読み取りを取得している可能性がありますか?

したがって、ダーティでない読み取りを必要とするトランザクションの調査を開始し、(1)Hibernateがそれらのトランザクションのトランザクションの安全性レベルを適切に制御し、(2)ダーティなトランザクションを引き続き保持できることを確認します。読み取りは問題ありません。

トランザクションの安全性レベルを制御するために、JBossとともにHibernateをインストールする必要がありますか?もしそうなら、私は現在基本的なHibernate APIを使用しているので、J2EEAPIを使用するようにアプリケーションを大幅に変更せずにこれを行う最も簡単な方法は何ですか。または、JBossを使用せずにHibernateでJTAコントロールを取得できますか?

アンディ