4.4. ログストレージの設定

最も重要な設定は、オブジェクトログストレージのタイプおよび場所です。通常、com.arjuna.ats.arjuna.objectstore.ObjectStoreAPI インターフェイスには 3 つの実装があります。

com.arjuna.ats.internal.arjuna.objectstore.hornetq.HornetqObjectStoreAdaptor
AMQ 7 の org.apache.activemq.artemis.core.journal.Journal ストレージを内部で使用します。
com.arjuna.ats.internal.arjuna.objectstore.jdbc.JDBCStore
JDBC を使用して TX ログファイルを保持します。
com.arjuna.ats.internal.arjuna.objectstore.FileSystemStore (および特別な実装)
カスタムファイルベースのログストレージを使用します。

デフォルトでは、Fuse は com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore を使用します。これは、FileSystemStore の特殊な実装です。

トランザクション/オブジェクトのログを保持する Narayana では、3 つの ストア が使用されます。

  • defaultStore
  • communicationStore
  • stateStore

詳細は、Narayana ドキュメント の State management を参照してください。

これら 3 つの ストア のデフォルト設定は以下のとおりです。

# default store
com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.objectStoreType = com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore
com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.objectStoreDir = ${karaf.data}/narayana
com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.localOSRoot = defaultStore
# communication store
com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.communicationStore.objectStoreType = com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore
com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.communicationStore.objectStoreDir = ${karaf.data}/narayana
com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.communicationStore.localOSRoot = communicationStore
# state store
com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.stateStore.objectStoreType = com.arjuna.ats.internal.arjuna.objectstore.ShadowNoFileLockStore
com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.stateStore.objectStoreDir = ${karaf.data}/narayana
com.arjuna.ats.arjuna.common.ObjectStoreEnvironmentBean.stateStore.localOSRoot = stateStore

ShadowNoFileLockStore は、ベースディレクトリー (objectStoreDir) および特定のストアディレクトリー (localOSRoot) で設定されます。

多くの設定オプションは、Narayana のドキュメントガイド に記載されています。ただし、Narayana ドキュメントには、設定オプションの正規参照はさまざまな EnvironmentBean クラスの Javadoc であると記載されています。