Transaction Manager for Microservices開発者ガイド XAでのアプリケーションの開発 XAでのNode.jsアプリケーションの開発 トランザクション参加側としてのNode.jsアプリケーションの構成 非XAリソースを使用するNode.jsアプリケーションの構成 7.13.2.2 非XAリソースを使用するNode.jsアプリケーションの構成 非XAリソース(MongoDBなど)を使用する場合は、この項に記載されている情報を使用してNode.jsトランザクション参加側アプリケーションを構成します。 Node.jsのMicroTxライブラリをpackage.jsonファイルに依存関係として追加します。"dependencies": { "@oracle/microtx": "<version>" }ここで、<version>は、Node.jsのMicroTxライブラリの最新バージョンです。 MicroTxライブラリのプロパティ値を構成します。「JAX-RSおよびNode.jsアプリケーションのライブラリ・プロパティの構成」を参照してください。Node.jsアプリケーションのロギングを有効にするには、追加のプロパティを設定する必要があります。「MicroTx Node.jsライブラリのログの有効化」を参照してください。oracle.tmm.xa.XaSupportの値がfalse、oracle.tmm.xa.LLRSupportの値がtrueに設定されていることを確認します。oracle.tmm.xa.XaSupport = false oracle.tmm.xa.LLRSupport = true プロパティ値を定義したtmm.propertiesファイルを渡して、マイクロサービスのMicroTxライブラリ・プロパティを構成します。TrmConfig.init('./tmm.properties'); MicroTxライブラリをインポートします。import {Request, Response, Router} from 'express'; import {XATransactionMethod, XAConfig, TrmConfig, NonXAResource, TrmNonXAResource} from "../trmlib/xa"; ルーター・オブジェクトを作成します。たとえば、次のコードでは、bankSvcRouterという名前のルーター・オブジェクトが作成されます。一意のルーター名を指定します。const bankSvcRouter = Router(); NonXAResourceインタフェースを実装します。 たとえば、次のコード・サンプルでは、MongoDbNonXAResourceクラスによってNonXAResourceインタフェースが実装されます。 public class MongoDbNonXAResource implements NonXAResource { // Provide application-specific code for all the methods in the NonXAResource interface. } NonXAResourceインタフェースを実装するクラスを、XA操作を処理するためのMicroTxライブラリに登録します。 次の例では、NonXAResourceインタフェースを実装するMongoDbNonXAResourceクラスをMicroTxライブラリに登録する方法について説明します。 const nonxaResource: NonXAResource = new MongoNonXAResource(); TrmNonXAResource.init()関数を使用して、MicroTxライブラリが使用するNonXAResourceオブジェクトを指定します。TrmNonXAResource.init(nonxaResource) 変更内容を保存します。 親トピック: トランザクション参加側としてのNode.jsアプリケーションの構成