JSONペイロードでのトランザクションの分割

警告: トランザクション分割は、アンマーシャリングが org.json.JSONObject クラスと get() メソッドを介して行われる場合にのみ機能します。また、Jackson ObjectMapper や Gson などの他のメッセージコンバータはサポートしていません。

トランザクションの識別には、Servletがペイロードをアンマーシャルするメソッドを使用してJSONペイロードにアクセスすることができます。

たとえば、次の JSON ペイロードは注文の自動車のクレジットカードを http://acmeonline.com/store に送信します。

order :{
type:creditcard,
id:123,
name:Car,
price:23
}}

次のコードスニペットは Servlet の メソッドを示しています。

public void doPost(HttpServletRequest req, HttpServletResponse resp) {
//create JSONObject from servlet input stream
String orderType = jsonObject.get("type");
//read the item for the order
processOrder(orderType,item)
...
}

アプリケーションが、送信済みの JSON ペイロードを JSON オブジェクトにアンマーシャルすると、「type」キーを使用して注文のタイプを識別できるようになります。この場合、このキーは個々のビジネストランザクションを一意に特定します。

トランザクションの識別に JSON ペイロードを使用するには、各ノードで ノードプロパティを に設定し、このルールを有効にする必要があります。

  1. [Rule Configuration] タブで、[Split transactions using XML/JSON Payload or a Java method invocation] をオンにします。
  2. JSON オブジェクトキーの場合、JSON オブジェクトの名前を入力します。たとえば、type のようになります。

エージェントは自動的に JSONObject をインターセプトします。get("$JSON_Object_Key" doGet()