問題タブ [transactionmanager]
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 - より多くの connectionFactory を持つ JmsTransactionManager
Spring 2.5.6 でより多くの jmsTransactionManagers を実装しようとしていますが、うまくいきません。
5 つの異なる環境から読み書きする必要があるため、5 つの接続ファクトリを取得しました。それらはすべてキュー xml Bean にありますが、1 つのキューからメッセージを読み取り、それらがオプションに適合しないため、トランザクション マネージャーでロールバックを行います。
私の質問は、どうすればより多くの JmsTransactionManagers を構成できるかということです。
c# - C#TransactionManager
こんにちは私はデータベースによって構造化された自動コード(すべてのget、setなどを作成する)を作成したジェネレーターを持っています。このコードには次のようなコードがあります。
using System.Transactions;
コードジェネレーターがこれを行ったことがないため、参照を追加し、ファイルの先頭に手動でインポートしました。TransactionManager error
インポートすると、これにより取得していたものが削除されました.GetTransaction();
が、調査した結果からエラーが発生しました。そのような方法はありませんTransactionManager
。
誰かがこのコードの代わりに何をすべきかについて何か手がかりを持っていますか(ジェネレーターにはエラーのために置き換える必要のあるコードがあります、私の推測ではこれはそれらのケースの1つです...)。任意の提案をいただければ幸いです!前もって感謝します!
database - JDBCTemplate と TransactionTemplate および Connection Pool (使用するデータソース)
質問の仕方がよくわからないので、私の考えが完全に間違っていることを教えてください。
JdbcTemplate
とを使いたいですTransactionTemplate
。接続プールをデータソースとして初期化し、データソースとしてトランザクション マネージャーを作成することから始めますか?
しかし今、TransactionTemplate と JdbcTemplate を作成したいと思います。
複数のスレッドがアクセスtransactionTemplate
し、jdbc
. doInTransaction
このコードは、すべての jdbc 呼び出しで同じ接続を使用することを保証しますか?
JdbcTemplate と TransactionTemplate が必要な接続を使用できるように見えるため、接続は何らかの方法で内部的にリンクされていますか。私のコードは正しいですか?
hibernate - HibernateTransactionManager から JpaTransactionManager への移行
次のようなさまざまな理由により、既存のアプリケーションで sessionFactory Bean の作成を変更しました。
に:
これは、新しく追加した永続ユニットです。
その後、多くのJunit 統合テストのトランザクション ブロックでInvalidComponentException を受け取りました。例えば:
例外は次の場所でスローされます。
catch ( InvalidComponentException e ) { fail ( "無効なコンポーネント: " + e.getMessage () );
問題は sessionFactory.getCurrentSession ().save ( c ); にありました。代わりに私は電話しなければなりませんでした:
これで、HibernateTransactionManager が JpaTransactionManager とは異なる動作をすることがわかりました。しかし、session.flush() を毎回手動で呼び出さなければならない場合、それは痛みとパフォーマンス キラーです。特に、オブジェクトを削除しようとすると、同じ問題が発生します。マージしてから削除するか、2 つのトランザクションに分割する必要があります。
session.flush() を追加せずにこの問題を解決するには、どのように JpaTransactionManager を構成する必要がありますか? 新しく追加した persistence.xml を試してみましたが、役に立ちませんでした。私は感謝し、それはどんな助けにもなります。
両方のバリアントで実際のフラッシュモードが何であるかを確認したところ、AUTO です。そして、私は電話をかけようとしましem.setFlushMode(FlushModeType.COMMIT)
たが、フラッシュモードはまったく変更されず、常にAUTOであり、((Session)em.getDelegate()).setFlushMode(FlushMode.MANUAL)
この例外が発生しています:
java - 複数のトランザクションマネージャーを使用している間、スレッドにバインドされた Hibernate セッションはありません
2 つのトランザクション マネージャー (1 つは READ 要求用、もう 1 つは READ-WRITE 要求用) と 2 つのセッション ファクトリを作成しました。
重要なスニペットは次のとおりです。
次の例外が発生しています:
DAO を呼び出すメソッドは次のとおりです。
誰かが私が間違っている部分を指摘できますか?
android - ormlite for android: デザインのヘルプなど
Androidアプリの開発を始めて数ヶ月。私はSpringフレームワークとHibernateで約2年間働いてきました。そこで、Android 用の ORM ツールを探していたところ、ormlite プロジェクトが見つかりました。とても興味深く、自分のアプリケーションで使用することにしました。
すべて正常に動作しているようですが、ormlite を使用して効率的かつ (可能であれば) エレガントな方法で Android アプリを開発するためのヒントを専門家に尋ねたいと思います!
ドメインクラスから始めましょう。
すべてのドメイン クラスは、偽の DomainObject インターフェイスを実装します。
それから私は一般的な Dao インターフェースを持っています
実装者:
各ドメイン オブジェクトには、追加のメソッドを定義する独自の Dao インターフェイスがあります (GenericDao で定義されているメソッド以外のメソッドが必要な場合に備えて)。
および相対的な実装:
だから私の質問は...
1) この種のドメイン/dao の実装はパフォーマンスに優れていますか、それとも冗長で不要なコードを導入していますか?
2) これは ormlite で作業する良い方法ですか?
3) アプリケーションを拡張するクラスに各 dao のインスタンスを保持することをお勧めしますか、それとも各アクティビティで dao のインスタンスを保持するか、他の場所に保持することをお勧めしますか?
また、トランザクションを処理しようとしましたが、成功しませんでした..テーブルがロックされているという例外が発生しました..GenericDao内にTransactionManagerの新しいインスタンスを返すメソッドを作成しました:
しかし、DBを更新するトランザクションでコードを実行すると、例外が発生しました...
ご回答ありがとうございます。
マルコ
java - トランザクションがアクティブでない例外-EJBトランザクションの状態
トランザクションの開始を担当するEJBコンポーネントに問題があります。Jboss5.01を使用しています。
基本的に、特定のトランザクションがコミットされた後に、特定のコードを実行したいと思います。特定のコードには、独自のトランザクションを作成するEJBコンポーネントの呼び出しも含まれます。
前のトランザクションがコミットされた後にコードが実行されることを確認するために、同期コンポーネントをトランザクションコンポーネントに登録しました。
Synchronizaton
実装は基本的に次のことを行います。
問題は、電話をかけるとservice.deleteAccounts()
、トランザクションがアクティブではないことを最終的に通知する例外が発生することです。
そして、これは私を混乱させるものです。でマークされたメソッドを持つEJB@TransactionAttribute(TransactionAttributeType.REQUIRED)
は、アクティブでない場合に新しいトランザクションを作成します(REQUIREDはJBOSSのデフォルトです)。
それでは、なぜ「トランザクションがアクティブではない」というメッセージが表示されるのですか?
どうもありがとう、
ヤニフ
spring - Spring トランザクション マネージャーは接続をスレッドにバインドしますか?
次のスレッドを見つけました: JdbcTemplate と TransactionManager はどのように連携しますか?
その最初の文:
私が理解している限り、DataSourceTransactionManager は、指定された DataSource から現在のスレッドに JDBC 接続をバインドし、DataSource ごとに 1 つのスレッドにバインドされた接続を許可します。接続のプールの場合は、使用可能な接続の 1 つが使用されます。
・・・まさに知りたいところです。
トランザクション マネージャーを使用する場合、各スレッドが独自の単一の接続を持つことになりますか? また、その接続はどのくらい存続しますか? 同じスレッドが単一のリクエスト全体で同じ接続を使用していますか、それとも何か他のことが起こっていますか? トランザクションマネージャーがある場合とない場合 (実際にトランザクションがあるかどうかに関係なく) で、Spring が下で何をしているのかを正確に理解しようとしています。
mongodb - grails ではどうすれば transactionManager を mongoTransactionManager にできますか?
私は grails 2.0.1 と、アンインストール プラグイン hibernate、インストール プラグイン mongodb を使用しています。現在、transactionManager という名前の Bean はなく、mongoTransactionManager があります。私の質問は、resources.groovy で transactionManager を定義するにはどうすればよいですか? どうもありがとう。
java - Spring TransactionManager - コミットが機能しない
MySQL 5.5 サーバーで SQL クエリのバッチを実行するための Spring ベースのソリューションを作成しようとしています。「クエリ」とは、コンパイルする任意の SQL ステートメントを意味するため、SQL バッチ ジョブには、たとえば、複数の CREATE TABLE、DELETE、および INSERT ステートメントを含めることができます。
この目的のためにSpring Batchを使用しています。
以下のようにtransactionManager
構成しました。
そしてdataSource
:
私のDAOクラスには、で構成されたメソッドがあります
そして、一度に 1 つの SQL ステートメントでメソッドを呼び出す SQL ステートメントのコレクションをループします。メソッド内の処理は次のように単純です。
DAO メソッドが完了すると、結果が DB に表示されることを期待していました。ただし、Spring ジョブの実行が完了したときにのみ、結果が DB で利用可能になるようです。
DAOメソッド内でコミットを試みました:
Spring コードをデバッグしたところ、DAO メソッドから呼び出したコミットが TransactionTemplate によって実行されることがわかりました (フローは行に到達し、this.transactionManager.commit(status);
例外なく通過します) 。
DAOメソッドをすべての呼び出しでコミットするために何をすべきかアドバイスをいただければ幸いです(実行するすべてのSQLステートメントの後にコミットします)。