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 がクラスターモードで実行中の場合、この同期はノード間でも保証されます。 |