Object Store Connector

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

  • 透かしなど、同期情報を保存する。

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

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

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

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

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

  • <until-successful/> コンポーネントは、オブジェクトストアを使用して再試行が必要なすべてのメッセージを保存します。そのため、Mule がクラッシュした場合、それらのメッセージは失われず、回復後に処理が続行されます。

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

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

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

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

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

Mule アプリケーションが Anypoint Platform Runtime Manager によって CloudHub ワーカーにデプロイされると、Mule アプリケーションのデフォルトオブジェクトストアの内容が、Runtime Manager の、Mule アプリケーションの [Application Data (アプリケーションデータ)] タブ内に表示されます。

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

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

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

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

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

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

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

    • 最大容量の指定。

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

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

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub