Object Store Connector - Mule 4

リファレンス:​ ​Object Store Connector リファレンス

Object Store Connector は、シンプルなキー-値ストレージを可能にする Mule コンポーネントです。多種多様なユースケースに使用できますが、主に次の場合を対象に設計されています。

  • ウォーターマークなど、同期情報を保存する。

  • アクセストークンなど、一時的な情報を保存する。

  • ユーザー情報を保存する。

さらに、Mule Runtime はオブジェクトストアを使用して独自のコンポーネントの一部をサポートしています。たとえば次のようなものがあります。

  • Cache モジュールはオブジェクトストアを使用してすべてのキャッシュデータを管理します。

  • OAuth Module (およびすべての OAuth 対応コネクタ) は、オブジェクトストアを使用してアクセストークンと更新トークンを保存します。

オブジェクトストアの制限事項

オブジェクトストアは、万能のデータストレージソリューションではありません。データベースの代わりにはならず、すべてのユースケースに適しているわけではありません。何よりも重要なのは、トランザクション型のアクセスと変更をサポートしていない点です。 ACID​ セマンティクスが必要なユースケースの場合、または同じキーを並行して更新することが期待される場合は、別のソリューションを検討してください。

デフォルトオブジェクトストアの使用

各 Mule アプリケーションには、デフォルトで、​設定不要​で常にアプリケーションが使用できる永続的なオブジェクトストアがあります。フローはこれを使用してデータを保持し、共有できます。

デフォルトオブジェクトストアを使用する場合、オブジェクトストアの ​key​ を指定できます。その際、オブジェクトストア操作用のオブジェクトストア参照を選択または作成したり、オブジェクトストアコンポーネントの XML 要素に ​objectStore​ 属性を指定したりする必要はありません。

Mule アプリケーションは Anypoint Platform Runtime Manager を使用して CloudHub ワーカーにデプロイされますが、デフォルトオブジェクトストアの内容はアプリケーションの ​[Application Data (アプリケーションデータ)]​ ページの Runtime Manager に表示されません。

重要なのは、Runtime Manager の [Application Data (アプリケーションデータ)] タブに表示されるオブジェクトストアは、デフォルトオブジェクトストアのみであると理解することです。

カスタムオブジェクトストアの使用

カスタムオブジェクトストアでは、​objectStore​ 属性を指定する必要があります。これらのオブジェクトストアは、デフォルトオブジェクトストアとは異なる動作をするように設定できます。たとえば、オブジェクトストアが永続的か (Mule Runtime がクラッシュしてもオブジェクトストアのデータは存続する)、一時的か (Mule Runtime がクラッシュするとデータは失われる) を指定できます。カスタムオブジェクトストアを定義する一般的な理由として次のようなものがあります。

  • 情報を異なるオブジェクトストアに保存することで分割する。

  • 次のような高度なオブジェクトストア機能を使用する。

    • 一時的/永続的ストレージ。

    • 存続期間 (TTL) の指定。

    • 最大容量の指定。

  • 別のコンポーネントに別のオブジェクトストアを使用してデータを入力することで、共有状態を避ける。

  • 別のコンポーネントに同じオブジェクトストアを使用してデータを入力することで、情報を共有する。