問題タブ [atomikos]
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 - Spring + Atomikos バッチ挿入/更新
spring + atomikos を構成して、複数のデータベース間でグローバル トランザクションを実行することができました。たとえば、レコードをトランザクションで更新または挿入します。@Transactional アノテーションを SqlUpdate クラスまたは BatchSqlUpdate クラスと一緒に使用して、データベース トランザクションを実行しています。コード例を次に示します。
このメソッドは、ID と名前のリスト (カスタム POJO のリストの場合もあります) を受け取り、リスト内の各項目に対して、各 DataSource オブジェクトに対して定義された各バッチ更新でパラメーターを設定します (初期化時に定義された準備済みステートメントを使用)。それぞれの更新を実行します。次に、BatchSqlUpdate が各 DataSource に対してフラッシュされます。これを別の方法で行うことができるかどうか疑問に思っていました.コミットをトリガーせずに BatchSqlUpdate にレコードを段階的に追加することは可能ですか? たとえば、startBatchUpdate()、addToBatch(int id,String name)、flushBatch() の 3 つのメソッドを定義し、最初と 3 番目のメソッド呼び出しの間に単一のトランザクションを持たせたいと考えています。Propagation.REQUIRED 属性を使用してみましたが、うまくいかないようです。何か案は?私の質問が明確だったことを願っています!ありがとう
spring - Atomikos + Spring+JMSはメッセージをトランザクションでバッチ読み取りします
私は、Spring + atomikosを使用して、N個のメッセージのバッチを読み取り、それらを1つのトランザクション内でデータベースに永続化するアプリケーションを設計しようとしています。データはバッチである場合にのみ一貫性があるため、メッセージのバッチである必要があります。つまり、単一のメッセージでは一貫性のあるトランザクションに十分なデータではありません。さらに、メッセージごとに1つのトランザクションがあると、パフォーマンスが完全に低下します。これは一般的なJMS+DBアプリケーションではないため、オンラインで例を見つけるのに苦労しています(atomikos Webサイトで提案されているようにMessageListenerで試しましたが、メッセージごとに1つのトランザクションが作成されます)。Springを使用してこれを達成するための最良の方法は何ですか?ありがとう
ジョバンニ
wso2 - WSO2 ESB 分散トランザクション
WSO2 ESB v 4.5.1 を使用して、2 つの SOAP Web サービスに分散トランザクションを実装しようとしています。
2 つの別個の Web サービス (それぞれが独自のデータベースに接続されています) と、両方のサービスと通信するプロキシ サービスを実装しました。Proxy-service には Transaction mediator が含まれています。
私が理解している限り、このバージョンの ESB は Atomikos (www.atomikos.com) を使用しており、トランザクション メディエーターがトランザクションを管理する唯一の方法です。
分散トランザクションを使用するように WSO2 ESB と Atomikos を構成する方法は? 分散トランザクション実装の唯一の例を見つけました。システム トランザクションが ESB 自体によって作成される単純なケースを示します。私の場合、トランザクションは外部 Web サービスに「渡される」(伝播される) 必要があります。
SOAP を介した分散トランザクションの例はありますか?
どんな助けでも大歓迎です。
tomcat - catalina.outからのatomikosロギングを無効にします
アトミコスのログレベルをINFOより高く設定したいのですが。Tomcatのcatalina.outログファイルは多くのINFOメッセージを書き込み、トランザクションの完了に長い時間がかかります。
起動中、catalina.outには次のものが含まれます。
トランザクション中に、catalina.outに次のように何度も書き込まれます。
conf / logging.propertiesでatomikosレベルをWARNに設定しようとしましたが、INFOログがまだ書き込まれています。私はlogging.propertiesからConsoleHandlerを削除しましたが、catalina.outはまだ書き込まれています。
私のwebappディレクトリで、log4j.xmlを更新して以下を含めましたが、それでもログを取得しています。
hibernate - JTA Atomikos を使用して Envers がバージョン テーブルにレコードを挿入しない
Spring 3.1、Spring data jpa 1.2、Hibernate 3.5.1、envers 3.5.1 を使用しています。この問題は、envers を使用すると _AUD テーブルが作成されますが、データが AUD テーブルに挿入されないことです。Personエンティティで@Auditedを使用し、RevListenerクラスを作成してRevisionListenerを実装しました。また、envers doc に記載されているように、DefaultRevisionEntity を拡張する RevEntity を作成しました。@Rollback(false) を使用し、PersonRepository 保存メソッドを使用するだけで、Spring Junit テストを実行しようとすると。データベースに新しい人物を保存していますが、Person_AUD テーブルには何も挿入されていません。以下は、私の春の設定ファイルからのスニペットです。
ここに私のpersistence.xmlからの抜粋があります
また、このプロパティを entitymanager config "hibernate.transaction.factory_class"value="com.atomikos.icatch.jta.hibernate3.AtomikosJTATransactionFactory" に追加しようとしましたが、これを追加した後、データは person テーブルにも挿入されません。また、AUD テーブルには通常のデータが挿入されません。作成された Person オブジェクトは表示されますが、コミットされません。
これは、デバッグ モードでのログの最後の数行です。
weblogic - Atomikos JMS を Weblogic で動作させる方法
トランザクションには Atomikos を、JMS には Weblogic を使用しています。私のクライアントは、getXAResource はサーバーからのみ呼び出すことができるという JMSClientExceptions を受け取ります。http://docs.oracle.com/cd/E17904_01/web.1111/e13731/jtatximp.htm#i1060046では、Weblogic をサードパーティ トランザクション マネージャと連携させる方法について説明しています。「WebLogic Server 介在トランザクション マネージャを外部トランザクション マネージャの下位として登録する必要がある」と記載されています。これを行う方法がわかりません。どんな助けでも大歓迎です。
tomcat - アトミコス、Tomcat、JTA java.lang.ClassCastException
Tomcat、Atomikos、ActiveMQ、および MySql を使用してトランザクションを機能させようとしています。次の例に従ってください: Tomcat 7 の Atomikos 3.5.2との統合 およびTomcat 7.0.27 の Atomikos 3.7.1との統合 成功しませんでした...
使用:
- トムキャット 7.0.29
- アトミコス 3.7.1
- アクティブMQ 5.8.0
- MySQL 5.5.31
$TOMCAT_HOME/lib の下に次の jar をドロップしました
- atomikos-integration-extension-3.7.1-20120529.jar
- atomikos-util-3.7.1.jar
- トランザクション-3.7.1.jar
- トランザクション-api-3.7.1.jar
- トランザクション-jdbc-3.7.1.jar
- トランザクション-jms-3.7.1.jar
- トランザクション-jta-3.7.1.jar
- geronimo-jta_1.0.1B_spec-1.0.jar
- activemq-all-5.8.0.jar
- mysql-connector-java-5.1.25.jar
ここに transactions.properties の内容があります
context.xml
関連する Java コード:
私は何を間違っていますか?
編集:
$TOMCAT_HOME/lib から activemq-all-5.8.0.jar を削除した後、元のエラーを回避できましたが、次のようになりました。
spring - java.lang.IllegalStateException: まだ recoveryService が設定されていません! [TOMCAT7 - Spring 3.2 - JPA 2(hibernate impl) - Atomikos 3.9 -
Spring 3.2.2、JPA 2 (休止状態の実装)、および Atomikos 3.9.0 を使用して webapp を開発しました。
そのため、ローカルおよび分散トランザクションを含め、すべてが期待どおりに機能しているようです。
しかし、atomikos クラスの log4j ロギングを有効にすると、アプリケーションを起動すると、コンソールに次の例外が表示されます。
WARN 2013-06-23 14:06:20 - リカバリのエラー java.lang.IllegalStateException: まだ recoveryService が設定されていません! com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:501) で com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromResourceIfNecessary(XATransactionalResource.java:614) で com.atomikos.datasource.xa.XATransactionalResource.endRecovery (XATransactionalResource.java:582) com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:558) com.atomikos.datasource.xa.XATransactionalResource.setRecoveryService(XATransactionalResource.java:435) com.atomikos. icatch.system.Configuration.installRecoveryService(Configuration.java:251) com.atomikos.icatch.imp.TransactionServiceImp.prepareConfigurationForPresumedAbortIfNecessary(TransactionServiceImp.
なんで?アプリケーションは期待どおりに動作しているようですが、この例外の意味がわかりません。
私に道を教えてくれる人はいますか?:) ありがとうございました!