問題タブ [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でHibernateを使用してトランザクションを使用するのはいつですか?
プロジェクトのアップグレード ここでトランザクションについて考えています。問題は、Spring で Hibernate クエリにいつトランザクションを使用する必要がある
かよくわかりません。
トランザクションとは何かを完全に理解していないわけではありませんが、おそらく理解していると思いますが、属性を設定するだけのタイプクエリにトランザクションを使用する必要がありますか?
get*read-only
get*それはクエリにとって効率的ですか?
私が考える限り、トランザクションの使用はCREATE、 、UPDATE、DELETEおよびそのようなクエリのように行う必要があるためです。
ここで何か不足していますか?
java - Springで特定のtxAdviceをサービスに使用させるには?
私は自分のプロジェクトをアップグレードしようとしているので、トランザクションに来ました。これが私が今までやっていた方法です。
以下のようにトランザクション属性を変更しましたが、サービスを正確にこれにリンクする方法がよくわかりませんtxAdvice。私は通常、サービスごとに異なるトランザクション属性を持っているため、複数あるはずですtxAdvice。@Transactionalこの特定の txAdvice を使用する方法はありますか?
namespaces - STS + gwt +spring-configファイル+tx:annotation名前空間
私はしばらくこれで立ち往生しています。私はgwt+springbackendjavaプロジェクトを開発してきました。私のプロジェクトは、GWTプロジェクトとSpringServicesなどの別のJavaプロジェクトを含む構造です。各プロジェクトには、それぞれのspring-configファイルが含まれています。私が使用する場合は、スプリング構成をロードしようとしている間
tx:annotation-driven
私は継続的に次のものを取得します。
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/tx/spring-tx-3.0.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'tx:annotation-driven'.
Eclipse用のgoogleプラグインを使用してsts内のgwtコンテナーにデプロイしていることに言及する必要があります。
私の春サーブレット名前空間はそのように始まります
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="h ttp://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="h ttp://www.springframework.org/schema/aop"
xmlns:context="h ttp://www.springframework.org/schema/context"
xmlns:p="h ttp://www.springframework.org/schema/p"
xmlns:util="h ttp://www.springframework.org/schema/util"
xmlns:tx="h ttp://www.springframework.org/schema/tx"
xsi:schemaLocation="h ttp://www.springframework.org/schema/aop h ttp://www.springframework.org/schema/aop/spring-aop-3.0.xsd
h ttp://www.springframework.org/schema/beans h ttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd
h ttp://www.springframework.org/schema/util h ttp://www.springframework.org/schema/util/spring-util-3.0.xsd
h ttp://www.springframework.org/schema/tx h ttp://www.springframework.org/schema/tx/spring-tx-3.0.xsd
h ttp://www.springframework.org/schema/context h ttp://www.springframework.org/schema/context/spring-context-3.0.xsd">
<tx:annotation-driven transaction-manager="transactionManager"/>
私はそれを理解するために多くの投稿を通過しましたが、問題を解決することができませんでした。jar:file:path/to/spring-framework-3.0.5.RELEASE/dist/org.springframework.transaction-3.0.5.RELEASE.jar!/org/springframework/transaction/config/spring-tx-3.0.xsd
a): with keyasおよびtypeasスキーマの場所を使用して、スキーマをxml-catalogにインポートしようとしました
http://www.springframework.org/schema/context/spring-context-3.0.xsd。
ヘルプやポインタに感謝します!
java - トランザクションマネージャーはトランザクションを想定しません
私は問題に直面しています私は猫のしっぽを捕まえる方法を本当に知りません(あなたが私に冗談をくり抜いたら:o))
私は戦争中のWebアプリを持っており、Tomcatにデプロイします。戦争には4つの瓶が含まれています。4つのjarには、4つのapplicationContext、4つのentityManager、および4つのTransactionManagerがあります。
このように宣言します(番号1 ..を変更します):
コンテキストは次のようにロードされます:
私の問題は、BOが3の場合、トランザクションがデータソース2で開いていることを発見しました。
さらに、永続化を行うと、次のメッセージが表示されます。
AbstractSaveEventListener-進行中のトランザクションがないため、ID挿入を遅らせます
しかし、jar 1を単独で起動すると(たとえば)、すべてが完全に機能しています。
啓蒙に感謝します。
java - @Transactionalを使用したクラス階層性問題
プロジェクトのセットアップ:Spring 3.0.5 / JPA 2 / Hibernate / @Transactional
いくつかの異なるデータソース(したがって異なるトランザクションマネージャー)を使用しますが、多くの機能が再利用されるため、共通のサービス基本クラスがあります。
そのため、カスタムアノテーションを使用してこれを解決すると考えました。すべてのメソッドを抽象基本クラスで定義し、TransactionManagerごとに1つの空の実装クラスを作成します。
今問題は次のとおりです。
でAbstractFallbackTransactionAttributeSource、これは実行されているルックアップです。
最初にメソッドがチェックされ、次にメソッドを宣言するクラス(およびその祖先)がチェックされます。しかし、私たちのコンテキストでは、カスタムアノテーションは、上に移動しても見つからないサブクラスに存在します。
では、どうすればこの問題を解決できますか?
[春のコミュニティフォーラムでもこの質問をしました]
spring - 一致するワイルドカードは厳密ですが、要素'tx:annotation-driven'の宣言が見つかりません
JSF + Spring + hibernateを構成しようとしていて、テストを実行しようとしていますが、application-context.xmlファイルでこの「tx:annotation-driven」を使用すると、次のエラーが発生します。
一致するワイルドカードは厳密ですが、要素'tx:annotation-driven'の宣言が見つかりません
これが私のapplication-context.xmlです:
これが私のCourseServiceImplTestです。私はまだテストを実装していません:
これがCourseServiceImplです。
datasource - SpringTransactionManagerとBoneCP接続プールの統合
BoneCP接続プールメカニズムを使用しており、Springフレームワークのサポートを使用してトランザクションを管理したいと考えています。Spring Transaction Managementに関する例を見つけ、この例を適用しようとしました。接続プールからDataSourceインスタンスを取得し、このデータソースを作成したDataSourceTransactionManagerに以下のように渡します。
しかし、テストしたところ、コミット操作の前にトランザクションマネージャーがストアにデータを書き込んでいることがわかりました。
トランザクションマネージャーを作成する前に、新しいデータソースを作成することと関連付けることができますか?またはあなたは何か考えがありますか?
java - @Transactional アノテーションなしで別のメソッドを呼び出す @Transactional メソッド?
としてマークされた Service クラスのメソッドを見てきましたが@Transactional、同じクラスで としてマークされていない他のメソッドも呼び出していました@Transactional。
別のメソッドへの呼び出しにより、アプリケーションが DB への別の接続を開くか、親トランザクションを一時停止するなどの原因になっているということですか?
注釈付きの別のメソッドによって呼び出される、注釈のないメソッドのデフォルトの動作は何@Transactionalですか?
spring - spring-managed-transaction は複数の request-response-s に耐えることができますか?
現在、jsf 2、jpa 2、および spring 3 を使用して開発しています。
@Transactional の使用とその伝播をよく理解していると思いますが、それでも、それは 1 つのスレッドにのみ適用されます。これは、私の場合、webapp の 1 つの要求応答です。
基本的に私が必要とするのは:
- リモート ビジネス サービスのクライアントは、トランザクションを開始および終了するクライアントです。
- 例外が発生した場合、春は例外の翻訳を行います
うまくいけば意図を説明できる例を次に示します。
- クライアント(モバイルデバイスであると仮定し、必ずしもWebアプリであるとは限りません)は、サーバーに新しいトランザクションを作成するように依頼します
- サーバーはトランザクション ID を返します
- クライアントは serviceA を呼び出し、使用する transactionId を渡します
- serviceA はトランザクション (渡された transactionId に基づく) を使用して実行されますが、トランザクションはコミットされません。
- クライアントは引き続き serviceB を呼び出し、同じ transactionId を渡して使用します
- serviceB は、serviceA によって開始された前のトランザクションを使用して実行されます
- serviceB が正しく実行されている場合、クライアントはサーバーに transactionId に基づいてコミットするように要求できます。
- serviceB が例外で実行される場合、Spring は SQL 例外変換を実行できます
これは可能ですか?
ありがとうございました !
spring - spring-managed-transaction を使用せずに spring 例外翻訳を使用できますか?
私はJPA 2とSpring 3で開発しています。
Spring 例外変換を利用できることを期待して、Dao クラスに @Repository を使用しています。
しかし、問題は、Spring マネージド トランザクション (@Transactional なし、Spring 構成ファイルに transactionManager の定義なし) を使用していないことですが、JPA アプリのカスタム トランザクション処理を使用していることです。
カスタム トランザクション マネージャーからの翻訳を何らかの方法で利用することはまだ可能ですか? このカスタム トランザクション マネージャーの実装は、JPA の EntityManagerFactory と EntityManager を引き続き使用しています。
あなたの考えを共有してください。
ありがとうございました !