Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerObject Store Connector は、Store (<os:store/>) および Retrieve (<os:retrieve/>) 操作を提供します。
Object Store Connector で使用する対象変数については、Mule Runtime 対象変数ドキュメントを参照してください。
オブジェクトストアを使用して値を次のように保存できます。
<os:store key="state">
  <os:value>
    <![CDATA[#[
      output application/json
       ---
       {
          "id": attributes.queryParams.id,
          "timestamp": now(),
          "name": payload.name
        }
      ]]]>
  </os:value>
</os:store>
Store 操作を使用し、failIfPresent パラメーターの値に応じて、新しい値を保存するか、既存の値を更新することができます。このパラメーターが false (デフォルト) に設定されている場合、そのキーに関連付けられている既存の値があれば上書きされます。パラメーターが true に設定されている場合、代わりに OS:KEY_ALREADY_EXISTS エラーが発生します。
null 値の保存はできません。ただし一般的には、次のように式またはトランスフォーメーションを評価して値を取得します。
値が null ではないことを検査します。
値が存在すれば保存します。
それ以外の場合は、何も行いません。
failOnNullValue パラメーターでこのユースケースが簡略化されます。デフォルト (true) では、null 値が指定されると OS:NULL_VALUE エラーが発生します。ただし、パラメーターが false に設定されている場合、null 値が指定されるとこの操作では何も行われません。エラーは発生せず、値は変更されません。
Retrieve 操作は、特定のオブジェクトストアキーの値を取得します。
キーを使用して 1 つの値を次のように取得できます。
<os:retrieve key="userId" />
ストアにキーが存在しない場合、次のような操作を使用してデフォルト値を指定できます。
<os:retrieve key="timestamp">
  <os:default-value>#[now()]</os:default-value>
</os:retrieve>
複雑な構造のデフォルトは次のように指定します。
<os:retrieve key="state">
  <os:default-value>
    <![CDATA[#[
     output application/json
     ---
     {
        "id": attributes.queryParams.id,
        "timestamp": now(),
        "name": payload.name
      }
    ]]]>
  </os:default-value>
</os:retrieve>
defaultValue パラメーターは、特定のキーに値が存在しないケースを処理します。このパラメーターを指定せず、操作で null 値に解決された場合、OS:KEY_NOT_FOUND エラーがスローされます。それ以外の場合、defaultValue が返されますが保存されません。
| すべてのオブジェクトストア操作はキーレベルで同期されます。操作の実行中、他の操作は同じオブジェクトストア上の同じキーにアクセスできません。Runtime がクラスターモードで実行中の場合、この同期はノード間でも保証されます。 |