問題タブ [xa]
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を使用して複数のデータベース間で分散トランザクションを行う「最良の」方法は何ですか?
ユーティリティのようなアプリケーションを隅に置き、2 つの異なるデータベースを定期的に更新しています。
これは、Spring Application Context で構築された小さなスタンドアロン アプリです。コンテキストには 2 つの Hibernate セッション ファクトリが構成されており、Spring で構成された Commons DBCP データ ソースを使用しています。
現在、トランザクション管理はありませんが、いくつか追加したいと思います。一方のデータベースの更新は、他方のデータベースの更新が成功するかどうかにかかっています。
アプリは Java EE コンテナー内に存在しません。シェル スクリプトから呼び出される静的ランチャー クラスによってブートストラップされます。ランチャ クラスはアプリケーション コンテキストをインスタンス化し、その Bean の 1 つでメソッドを呼び出します。
データベースの更新にトランザクション性を持たせる「最良の」方法は何ですか?
「最高」の定義はお任せしますが、「設定が簡単」「設定が簡単」「安価」「パッケージ化や再配布が容易」といった機能があればいいと思います。当然FOSSがいいでしょう。
jdbc - XA 2PCトランザクションにODBC接続を参加させるにはどうすればよいですか?
このアプリケーションは、ODBCを使用してデータベース(違いが生じる場合はDB2とOracleの両方)と通信し、JNIを介してビジネスロジックをJavaに委任します(つまり、JavaとCを使用します)。
私が知りたいのは、ビジネスロジック(Java / JDBC)とアプリケーションフレームワーク(C / ODBC)が2フェーズコミットプロトコルに参加できるようにするために必要なツール/ソフトウェア/ライブラリです。
このプロジェクトではLinuxで実行しますが、通常はSolarisとWindowsもサポートしているため、マルチプラットフォームソリューションが推奨されます。
c++ - C++でのXA分散トランザクション
XA分散トランザクションを実装するための優れたC++フレームワークはありますか?
「良い」という用語は、使いやすく、シンプルで(「簡単」を意味するものではありません)、適切に構成されていることを意味します。
調査上の理由により、現時点では、X /OpenXA仕様に従って個人的な実装を進めています。
前もって感謝します。
transactions - 長期的なトランザクションの構造化されたアプローチ
長時間(数時間以上)のトランザクションに対する構造化されたアプローチを探しています。ここで述べたように、これらのタイプの相互作用は通常、楽観的ロックと手動マージ戦略によって処理されます。
標準のトランザクションを使用して、このタイプの問題に対してより構造化されたアプローチをとることは非常に便利です。ユーザー登録、注文確認などのさまざまな長期にわたる対話はすべてトランザクションのようなセマンティクスを持ち、独自の脆弱な手動ロールバックおよび/またはタイムアウト/クリーンアップ戦略を考案することはエラーが発生しやすく、面倒です。 。
RDBMSを例にとると、すべてのトランザクションを開いたままにしておくことに関連する主要なパフォーマンスコストになることを理解しています。別の方法として、2つの分離レベル/戦略を同時にサポートするデータベースがあることを想像できます。1つは短期間の会話用で、もう1つは長期的な会話用です。長時間実行される会話では、たとえば、データアクセスに対してより厳しい制限があり、より多くの時間がかかるようになります(一部のデータの読み取り専用セマンティクス、楽観的ロックセマンティクスなど)。
同様のことを行うことができる解決策はありますか?
jboss - jboss jmsおよびxaトランザクション
JBoss 5.1.0 GA-jdk6 で JMS を使用しています
アプリケーション データと JMS にも同じデータベースを使用できますか、それとも 2 フェーズ XA プロトコルを使用して別々のデータベースに構成する必要がありますか?
postgresql - CentOS 上の Postgres 8.4.3 で準備されたトランザクション
ローカルの postgres.config で「max_prepared_transactions」を 20 に設定しましたが、トランザクションは次のエラー トレースで失敗します (Linux のみ)。Windows では同じコードがシームレスに機能するため、これが許可の問題でないかどうかはわかりません。解決策は何ですか?ありがとうピーター
jta - Berkeley DB Java Edition for Distributed Transactions(XA)でのトランザクション分離レベルの設定
BDB JEアプリケーションで分散トランザクションを使用して、複数のBDBJE環境間でトランザクションを調整しています。トランザクション分離レベルをシリアル化可能に設定したい。分散トランザクションを開始するには、生成したXidを使用し、BDB JEのネイティブトランザクションクラスを避けて、グローバルに一意であることを確認する必要があります。開始するトランザクションブランチはThreadLocalであるため、操作のトランザクションフィールドにnullが渡されます。では、分離レベルを設定するにはどうすればよいですか?分離レベルはすでにデフォルトでシリアル化可能になっていますか?私のグーグルフーは何も上げていません...
java - トランザクションがコミットされるまでメールの送信を遅らせる
独自の XAResource を実装する方法について、良いチュートリアルやアドバイスを持っている人はいますか? トランザクションがコミットされたときにのみメールが送信されるように、Spring の MailSender をトランザクション対応にする必要があります。既存のトランザクション ラッパーはないようです。
database - 「分散トランザクション」とは何ですか?
分散トランザクションに関するウィキペディアの記事はあまり役に立ちません。
分散トランザクションとは何かについて、より詳細な概要を説明していただけますか?
また、ネットワークに接続された 2 台以上のコンピューターでデータを更新するトランザクションをアプリケーションまたはデータベースが実行する必要がある理由の例を教えてください。
古典的な銀行の例を理解しています。私は、Dynamo、Bigtable、HBase、Cassandra などの Web スケール データベースでの分散トランザクションに関心があります。
jms - glassfish v3 asadmin 接続ファクトリーで XA を指定する方法
これはGFV2で機能しました:
$AS_HOME/bin/asadmin \ --host $AS_ADMIN_HOST \ --user $AS_ADMIN_USER \ --port $AS_ADMIN_PORT \ create-jms-resource \ --restype javax.jms.QueueConnectionFactory \ --description XA\ Queue\ Connection\ Factory \ --property Name=myXAQueueConnectionFactory:SupportsXA=true \ jms/myXAQueueConnectionFactory
ただし、SupportsXA=true は機能しなくなりました。たぶん、GFV3 マニュアルで見つけられないかもしれませんし、友人の Google でも見つけられないかもしれません: asadmin を使用して XA トランザクション性を指定してファクトリを構成する方法は? 方法を知っている人はいますか?