問題タブ [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.
spring-transactions - @transactional プロパティをアノテーションに挿入できますか?
Spring コンテキスト ファイルで定義されたサービスがあり、EL を使用してトランザクション プロパティを注入しています。
@Service
アノテーションを使用して定義されたサービスがいくつかあります。xml ファイルで行うのと同様の方法でプロパティを挿入することは可能ですか? また、構文はどのようになりますか? すなわち:
mysql - HibernateとSQLのベストプラクティスを使用したSpringトランザクション
現在、SpringMVCを使用してRESTWebサービスを実装しています。ここで、ある種のデータ永続性を実装したいと思います。私はオプションが何であるかを調べています。Spring Transactions + Hibernate + MySQLは非常に人気のあるアプローチのようですが、私が見たすべてのブログ/チュートリアルはそれを異なって行います。
Springを使用したデータ永続化の「ベストプラクティス」と見なすことができるものを誰かに教えてもらえますか?これは私にとってより自然で保守しやすいように思われるので、注釈ベースにしたいです。
しかし今、私が読んだいくつかの場所では、HibernateTemplate
もう使用すべきではありません。また、*Daoインターフェースと*DaoImplを@Repository
approachで使用する人もいれば、* Servicewithapproachを使用する人もいます@Service
。
アドバイスをよろしくお願いします。
hibernate - I18Nサポート用の動的に変更されるセッションファクトリとTxmManager
ここで構築しているSpring-GWTアプリケーションに特有の問題があります。UTF-8をサポートしないWE8ISO8859P1文字セットでエンコードされたOracleDBがあります。したがって、AL32UTF8文字セットで新しいDBを構築しています。残念ながら、DBAは既存のDBを新しいDBに移行することを望んでおらず、英語のデータについては古いDBに、ラテン語のデータについては新しいDBに到達する必要があります。
メソッド/クラスレベルで@Transactionalアノテーションがあり、sessionFactoryがDAOに注入されて休止状態に接続します。ユーザーがラテン語を選択したときにこれらを再利用したい
@Transactional(changeThisDynamically)
つまり、注入されたTransactionManagerとSessionFactoryは、ユーザーがラテン語/英語を切り替えるときにAjax呼び出しを介して動的に変化する必要があります。
これはできますか?これを解決するための最良のアプローチは何ですか?
考え直してみると、BeanのApplicationContextAwareを作成してこれをdaoに設定することで、ラテン語のセッションファクトリを取得できましたが、これは良いアプローチですか?そして、TransactionManagerで何をしますか?
ありがとう、
java - Spring AOPを使用してループ内で呼び出されるロールバックトランザクションを定義するにはどうすればよいですか?
以前、com.TestTransactionクラスにメソッドupdateRecord()を作成しました。updateRecord()メソッドには、データベースに値を挿入するためのforループがあります。ループ内で例外がスローされた場合、挿入されたすべての値がロールバックされます。これは正常に機能し、コードは次のようになります。
Javaクラスファイル内
config.xmlファイル内(春の構成ファイル)
次に、updateRecord()メソッドのループ内に別のメソッドdoUpdateRecord()としてコードを作成することにしました。そのため、doUpdateRecord()がRuntimeExceptionをスローすると、このdoUpdateRecord()のみがロールバックされ、以前のすべての更新がコミットされます。しかし、ロールバックに失敗しているようです。
以下のようにコーディングします。
Spring構成ファイル:
誰かが何が起こっているのかについて何か考えを与えることができますか?メソッド(トランザクション)がループ内で呼び出されたときに、1つの更新をロールバックすることは可能ですか?
spring - 注釈付きトラクショナル属性は、Javaリフレクションを介してSpringで変更できますか?
実行時にリフレクションを介してトランザクション属性(特にTransactionManager)を変更したいと思います。これは可能ですか?
例:@Transactional('ChangeMe')
spring - struts2 とスプリング トランザクション
struts2 と spring と JPA over hibernate で書かれたアプリがあります。Form spring i はトランザクションと IoC を使用します。
私のアプリは 2 つのレイヤーで構成されています。Struts アクションと、CRUD 操作を処理するいくつかの「サービス」クラス、@Transactional で注釈が付けられたクラスです。
これらのサービス クラス メソッドのいずれかで例外が発生した場合、Spring がトランザクションを自動的にロールバックするために、このクラスからその例外を (Struts アクション レベルに) スローする必要があります。
そうしないとどうなりますか (その例外をスローせず、トランザクションがロールバックしない場合)。
PS。私はすべてのDB操作にSpring管理のEntityManagerを使用しています。
ありがとう
spring - tx:annotation-drivenでカスタムAnnotationTransactionAttributeSourceを使用する
トランザクション属性をインターセプトするには、カスタムAnnotationTransactionAttributeSourceを使用する必要があります。現在、これはTransactionInterceptorを使用して行い、これをTransactionAttributeSourceAdvisorに挿入しています。プロキシは、以下に示すようにDefaultAdvisorAutoProxyCreatorを使用して作成されます。
ここで、CustomAnnotationTransactionAttributeSourceはAnnotationTransactionAttributeSourceを拡張します。これらすべての構成を回避できるように、Tx:annotation-drivenにCustomAnnotationTransactionAttributeSourceを使用させる方法はありますか?。投稿の1つで、これはBeanPostProcessorsを使用して実行できると読みましたが、この場合の使用方法がわかりません。
spring-mvc - アノテーションベースのトランザクションマネージャーはjspのようにデータを保持できますか
Spring 3 でトランザクション管理を初めて使用します。Google からいくつかのリソースを参照し、アプリケーションでそれを使用する理由と方法を理解しましたが、トランザクション メソッドがエラーをスローするかどうかを知りたいのですが、jsp ページのデータをそのまま保持するのに役立ちますjsp提出中?
spring - AOP を使用してプログラムによるトランザクション管理を簡素化できますか?
いくつかの入力基準に基づいて transactionManager を設定したかったため、宣言型からプログラムによるトランザクション管理に移行しました。
何かのようなもの
すべて正常に動作しますが、すべてのサービス呼び出し (トランザクション境界は GWT クライアント サービス レベルにあります。UI --> クライアント サービス --> サービス --> Dao のようなもの) をトランザクション コールバックでラップすると、比較するとコードが混乱します。 @Transactional へ。これを行う簡単な方法はありますか? 多分AOPベースのアプローチですか?
私は次のことを試しました
コードはトランザクション コンテキスト内で正常に実行され、「結果」には正しい値 (新しく保存されたユーザー) が含まれますが、saveUser メソッド (GWT ウィジェット レイヤー) の呼び出し元は常に null オブジェクトを取得します。GWT とは別に試してみたので、これは GWT の問題ではありません。'result' まではすべて問題ないようです。この後、オブジェクトは失われます。問題の考えられる理由と解決策は何ですか?
hibernate - Spring トランザクション : トランザクションがアクティブではありません
struts2、spring 3.1、Jpa2、および Hibernate を使用してアプリを開発しています。Spring からトランザクションと IoC を使用します。
そのため、struts2アクションを毎秒呼び出すajaxコードブロックがあります(これは、アプリケーションにログインしているすべてのユーザーに対して発生しています(同時ユーザーは一度に約20〜30人です))。このアクション名は PopupAction です
}
そして、私はサービスクラスを持っています:
}
ここに春の設定があります:
3 つのデータソースと 3 つのトランザクション マネージャーがあるため、transactionManager の名前があります。問題は、glassfish ログが次のようなメッセージでいっぱいになっていることです: -- 最新のログを追加できるようにするために削除されました --
原因は次のとおりです: 原因: java.lang.IllegalStateException: トランザクションがアクティブではありません。しかし、何がこれを引き起こすのかわかりません。
助けはありますか?
おかげで
更新
@Transactional アノテーションに、彼が使用しなければならないトランザクションマネージャー名を追加しましたが、それでも私の問題は解決しません。トランザクションが作成されてから例外が発生するまでのログをキャプチャしました。
もう一度..... 何か考えはありますか?