問題タブ [spring-transactions]
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 - Spring JTA構成 - TransactionManagerの設定方法は?
Spring 構成で Spring トランザクションを次のように構成します。
これは、Spring が基盤となる JTA 実装を自動的に検出することを意味します。したがって、JBoss を起動すると、Spring の検索中に次のメッセージが表示されます。
そして、最終的に次のようになります。
<tx:jta-transaction-manager/>
問題は、タグを編集してjava:/Transaction Manager
JTA 実装を明示的に構成し、ログ内のこれらすべてのスタック トレースを回避するにはどうすればよいかということです。(Log4J のログレベルを変更したくないだけです)
更新: 以下の構成に置き換え<tx:jta-transaction-manager/>
たところ、動作するようです..これで問題ないと思いますか?
spring-transactions - Spring トランザクション - @Transactional との混合カスタム注釈に
私の目標は、サービス クラスをトランザクションとして宣言する何らかの方法を持つことです。春の設定で明示的な宣言として残したくありません。過去に何度も新しいサービスを作成し、それらに関するトランザクションを宣言するのを忘れていました。したがって、私の意図は、 @TransactionalService カスタムアノテーションのようなものがある場合、次のことを行う必要があるということです:- 1. トランザクションサポートを提供します。しかし、春とは異なり、以下を @TransactionService アノテーションの一部にしたいと思います。
アドバイスは貴重ですか?
spring-security - Spring セキュリティ ACL: JDBCMutableAclService.createAcl からの NotFoundException
私はこのタスクにあまりにも長い間取り組んできたので、Spring Security を使用してそれを達成するという考えを放棄することはできませんでしたが、Spring Security を選択したことに対する後悔を減らすのに役立つ何らかのサポートをコミュニティが提供してくれることを願っています。暴言はもう十分です。では、本題に入りましょう。
次のように JDBCMutableAclService.createAcl を使用して ACL を作成しようとしています。
この呼び出しは、次の行から NotFoundException をスローします。
これは、Transactional に関連する何かが原因であると考えています。そのため、多くの TransactionDefinition 属性をテストしました。私も注釈を疑い、宣言的なトランザクション定義を試しましたが、まだ運がありません。
重要な点の 1 つは、メソッドの前にデータベースに oid を挿入するために使用したステートメントをデータベースに直接使用したところ、それが機能し、メソッドに挿入しようとしたときに一意の制約例外がスローされたことです。
私はSpring Security 2.0.8とIceFaces 1.8を使用しています(これはSpring 3.0をサポートしていませんが、特にcalingを続けると、2.0.xを明確にサポートしSpringSecurityUtils.assureThreadLocalAuthSet())
ます。私のAppServerはTomcat 6.0で、DBサーバーはMySQL 6.0です
このタスクを途中で終わらせる必要があるため、すぐに返信を返したい
java - Spring @Transactional メソッド - 参加トランザクション
1 つの dao には、2 つの @Transactional メソッドがあります。
明示的なプロパティを提供しない場合、
だったらどうなるんだろう
あるメソッドを別のメソッドの本体で実行しますか?
両方の方法が同じトランザクション内で実行されますか?
java - 春の宣言型トランザクション管理が機能しない
私は、JDK1.6.0_21を使用するApacheTomcat6.0.29で実行されているmybatis-3.0.2およびmybatis-spring-1.0.0とともにspring3.0.3.RELEASEを使用しています。
DAOクラスとServiceクラスを作成し、宣言型トランザクション制御に従って定義しました-
このメソッドは、ItemDAOを使用するcom.project.service.ItemDAOServiceImplクラスにあります。SystemExceptionはRunTimeExceptionです。削除する2つのIDを渡します。1つのIDはシステムに存在し、もう1つは存在しません。1つのIDが存在しないため、SystemExceptionが発生しますが、データベースを確認すると、ロールバックではなく、もう1つのIDが削除されます。
java - @ConfigurationクラスでSpringにアノテーション駆動型トランザクションを設定する
そのため、Springの最新バージョンでは、@Configuration
アノテーションを使用してSpringの構成をセットアップできます。JavaConfigでは、@AnnotationDrivenTx
(@ AnnotationDrivenTx Reference Link)アノテーションを使用して、Configクラスでトランザクションを設定できるようになりました。しかし、JavaConfigが廃止されたので、JavaConfigを使用せずに、に何も追加する必要なしに、同様の設定を行う方法を誰かが知っているかどうか疑問に思いましたapplication-context.xml
。これが私のConfigクラスの基本的なものです
Service1
そして、私はトランザクションを作りたいです。誰かがこれを行う方法について何かアイデアを持っている場合、またはこれが不可能な場合は私に知らせてください。
ありがとう!
spring - Spring 2.5 で外部トランザクションから内部トランザクション設定を制御する
Spring 2.5 トランザクション管理を使用しており、次のように設定しています。
ビーン1
Bean2
トランザクション全体がロールバックされるため、障害が Bean1 から DB に永続化されることはありません。
ランタイム例外を適切に処理するロジックがない多くの場所で使用されているため、Bean2に noRollbackForを追加したくありません。
Bean2.execute() が Bean1 から呼び出された場合にのみトランザクションがロールバックされるのを回避する方法はありますか?
それ以外の場合、私の最善の選択肢は、新しいトランザクション内で失敗を永続化することだと思いますか? 他にできることはありますか?
java - Springaopトランザクションがトランザクションをコミットしていません
Apache Tomcat6.0.29でSpring3.0.3、MyBatis 3.0.2、mybatis-spring1.0.0を使用しています。
トランザクション管理には、春の宣言型トランザクションを使用しました。問題は、トランザクションが機能していないことです。トランザクションは1回だけ機能し、その後は何も機能しません。
私はすべての設定をチェックしようとしましたが、手がかりはありません。ポインタはありますか?
私の構成は次のようになります-
コメント後に編集-------------
サーバーを起動してトランザクション機能を実行しますが、機能する場合と機能しない場合があります。時々それは5-6回働き続け、そして突然それは止まります。
TXマネージャーとDS構成-
java - Springトランザクションマネージャーインスタンスを取得するには?
アノテーションを使用して、トランザクションで実行する必要があるメソッドをマークします。
しかし、ある場所transactionManager.rollback()
では、注釈なしで手動で行う必要があります。どうすればtransactionManager
オブジェクトを取得できますか?
grails - Grails の統合テストとトランザクション
この統合テストが失敗する理由がわかりません。@Transactional(propagation = Propagation.REQUIRES_NEW)
サービスメソッドの上の注釈を削除するかtransactional = false
、統合テストで設定することで、テストに合格することができます
統合テスト自体がトランザクションで実行されていることに気付きました。そのため、サービス メソッドに注釈を付けました。
私のサービスメソッドが定義されています:
Order エンティティは単純なドメイン オブジェクトであり、私は Grails 1.2.1、MySQL 5.x (方言=org.hibernate.dialect.MySQL5InnoDBDialect) を使用しています。
私はこの関連記事を見ましたが、まだ葉巻はありません:(