問題タブ [bitronix]

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 に答える
2207 参照

java - bitronix(BTM)がユーザートランザクションをJNDIにバインドしないのはなぜですか?

他の場所で提案されているように、Bitronixは非常にうまく機能しているように見えます。しかし、私はそれに関する問題に困惑しています。呼び出した後にセッションを保存しようとすると、Hibernateからこの例外が発生しTransactionManager.begin()ます。

BitronixがユーザートランザクションをJNDIにバインドしているという証拠は見当たりません。どうすればそれを行うことができますか?

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

java - BTMなしでbitronixPoolingDataSourceを使用することは可能ですか?

bitronixトランザクションマネージャーを使用bitronix.tm.resource.jdbc.PoolingDataSource せず、代わりにスタンドアロンのJBossTSを使用して使用することは可能ですか?

@Transactionalデータベースアクセスには、Springのアノテーション(またはTransactionTemplate同様の実装を持つSpringのアノテーション)を使用してトランザクションの境界を設定するHibernateを使用します。PoolingDataSourceテストではスタンドアロンのJBossTSが使用されますが、データベース接続プールを放棄したくありません。

それが不可能な場合、他にどのようなプーリングデータソースがここに適合しますか?他のいくつかの質問は、c3p0がオプションではないことを示唆しています。それは本当ですか?

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

java - Guice Persist を JTA / bitronix と一緒に使用する際の問題

すでに JPA と guice-persist を使用している既存の j2se プロジェクトがあります。ここで、JMS 機能を追加したいので、2 フェーズ コミットと JTA の要求があります。コンテナーがないため (Spring など)、bitronix トランザクション マネージャーを使用します。

私の理解では、最初にやらなければならないことは、永続化ユニットの transaction-type を から に変更することですRESSOURCE-LOCALJTAこれは、データベース トランザクションがcommitではなくcommitに投票するようにするためです。コミットは、すべての投票を収集した後、フェーズ 2 で行われます。

guice-persist@Transactionalでは、単一のトランザクションで実行する必要があるメソッドにアノテーションを使用します。はEnitiyManagerFactory を提供し、注釈付きメソッドをラップするJPAPersistModuleように、guice-persist 内部クラスに使用されます。JpaLocalTxnInterceptor

今、私は次のような例外を受け取ります

提供されたエンティティマネージャーのJpaLocalTxnInterceptor呼び出しのため。getTransaction()

現時点では、かなり行き詰まっています。guice-persist を JTA と一緒に使用する方法はありますか? それともプロジェクトから guice-persist を削除する必要がありますか? または、(Bitronix を使用して) JTA を実行したい場合、guice-persist に代わるものはありますか?

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

spring - Spring Integration + トランザクション + Bitronix

Java ベースの Web アプリケーションがあります。Spring Integration を使用して、データベース (Jpa アウトバウンド アダプター) および Tibco EMS (JMS アウトバウンド アダプター) と統合しています。ただし、ここで、同じメッセージを 1. データベースに保持し、2. JMS 経由で送信する必要がある場所に、いくつかのコードを配置する必要があります。

問題は、これらのアクティビティ (1 と 2) がトランザクションで発生する必要があることです。両方が発生するか、まったく発生しません。私はBitronixでこれを達成しようとしています。しかし、今のところ、私はそれを成し遂げることができていません。平易な英語で意味するエラーが表示されます (ここで私の翻訳を許してください) 「XA トランザクション以外ではトランザクションを達成できません。

誰もこれを試したことがありますか?どんな助けでも大歓迎です。

ありがとう、

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

java - コミット時にJTAでJMSメッセージを確認する方法は?

JTA、2 フェーズ コミット、JMS および JDBC トランザクションに苦労しています。アイデアは(要するに)

  1. キューでメッセージを受信する
  2. いくつかのデータベース操作を実行します
  3. データベース操作が成功したときに、メッセージを確認します

を取得しXAQueueConnectionFactory、 を作成しXAQueueSession、セッションからレシーバーを作成し、メッセージ リスナーを設定しました。

リスナー内のonMessageメソッドで、ユーザー トランザクションを開始し、jdbc を実行してトランザクションをコミットするか、何か問題が発生した場合はロールバックを実行します。ここで、ユーザー トランザクションがコミットされたときに、メッセージが確認されることを期待 (別名「希望」) しました。

しかし、そうはなりません。メッセージはまだキューにあり、何度も再配信されます。

私は何が欠けていますか?セッションを再確認したところ、承認モードは実際には " SESSION_TRANSACTED" であり、getTransactedtrue を返します。

Java EE コンテナーも、スプリングも、メッセージ駆動型 Bean もありません。私はスタンドアロンの JTA bitronix を使用しています。

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

spring - jparepositoryを使用したjunitテストでデータベースにオブジェクトが作成されない

Spring 3.2.1.RELEASE、Hibernate 4.1.9.FINAL を jpa プロバイダーとして、spring data 1.2.0.RELEASE をリポジトリーとして、bitronix 2.1.3 をトランザクション マネージャーとして使用してプロジェクトを開始しています。私はこれらすべてのテクノロジーに慣れていないので、重要な点が欠けていたら申し訳ありません。

データベースに User オブジェクトを作成する単純な単体テストを実行しています。

使用した test-context.xml は次のとおりです。

リポジトリの実装は、標準の JPARepository です。

また、サービスの実装はリポジトリへの呼び出しのみを行います。

問題は、テストを実行すると成功するが、データベースにユーザーが作成されないことです。ロールバックの動作が原因かもしれないと思ったので、ユーザー テストで defaultRollback=false を設定しました。DEBUG に設定されている場合にトランザクション フレームワークによって提供される、関連する可能性のある情報を次に示します。

ログには testException=[null] が表示されますが、その理由がわかりません..JPARepository によって提供される saveAndFlush() メソッドを使用しようとしましたが、そうするとエラーが発生しますjavax.persistence.TransactionRequiredException: no transaction is in progress 。私は間違ったことをしており、私を正しい方向に向けることができます。助けていただければ幸いです。

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

oracle - Spring トランザクションは Oracle Express では機能しません

Spring でトランザクション管理をテストするための単純なスタンドアロン アプリケーションがあります。Oracle Express Edition を持っている。以下を実行して XA を有効にします

私のJavaコードはほとんど次のとおりです。

したがって、すべてのアイデアは、トランザクションがロールバックするのを見ることです。私はいくつかの構成例で実行し、記録は常にコミットされています。ロールバックは実行されません。エラーなし、期待のみ

私の最後の設定はこれです:

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

java - H2 データベース/ Java EE なしの Bitronix

機能の簡単なテスト (チュートリアルに従う) のために、Bitronix と H2 インメモリ データベースを使用してプリミティブ JTA 環境をセットアップしようとしました。テストは、単純な Java アプリケーション (Java EE やサーバーなどなし) で単体テストとして実行することになっています。

残念ながら、私はそれを実行できません。私のセットアップは次のとおりです。

  1. チュートリアルに従って、(maven経由で)いくつかのjarファイルを追加しました:

    • btm、h2、hibernate-entitymanager および hibernate-jpa-2.0-api
  2. クラスパスにpersistence.xml、hibernate.cfg.xml、およびjndi.propertiesファイルを追加しました。

  3. テストメソッド(ダーティ...)に次のコードを入れました:

    /li>

そして、これは私のpersistence.xml構成です:

jndi.properties: java.naming.factory.initial=bitronix.tm.jndi.BitronixInitialContextFactory

問題は次のとおりです:私はこのスタックを取得します:

したがって、ここで何かが間違っていることは確かです。手伝って頂けますか?