Javaエージェントは、デフォルトでJersey 1.xおよび2.xをサポートします。

ビジネストランザクションエントリポイントは、以下のアプリケーションエージェントノードプロパティを使って名前を付けられます。

ビジネストランザクション命名スキーム

デフォルトで、Javaエージェントはベストエフォートに基づいて、 検出されたエントリポイントのクラス注釈、メソッド注釈、およびHTTPメソッドを使って以下の形式でJAX-RSベーストランザクションに名前を付けます。

{class-annotation}/{method-annotation}.{http-method}

注釈値が利用できない場合、エージェントは次のようにトランザクションを命名できます。

{fully qualified class name}.{method}

たとえば、JAX RSサービスエンドポイントにクラスおよびメソッド名が明示的には含まれていないが、他の何らかの方法で注釈が暗示されている場合があります。

注釈の継承の場合、エージェントは、「JAX RS 仕様」で説明しているように、スーパークラスおよびインターフェイスから注釈を取得しようとします。この仕様では次の点を推奨しています。

他のJava EE仕様との一貫性のため、注釈の継承に依存するのではなく、常に注釈を繰り返すことを推奨しています。

エンドポイントメソッドで注釈を繰り返すと、Javaエージェントが、デフォルトのスキームに従ってビジネストランザクションを命名できるようになります。

rest-transaction-naming変数

rest-transaction-naming ノード エージェント プロパティでは、JAX-RS ベースのビジネストランザクションの命名を管理できます。変数を使って、例えば、メソッド名、クラス名、パラメータ値などに基づくランタイム値でトランザクションに名前を付けることができます。変数の完全なリストについては、「アプリケーションエージェントのノードプロパティ参照資料」を参照してください。

任意のパラメータの後ろにgetterチェーンを追加して、パラメータ値で操作することができます。この場合は、「:」を入力し、その後に getter チェーンを追加します。標準的なgetterチェーンエスケープの要件とルールが適用されます。

命名例

以下の例では、6番目のパラメータの値の一部に基づいて名前を付けています。

rest-transaction-naming={param-5:toString().toLowerCase().subString(5,20)}

文字「{」と「}」は予約されています。getter チェーンで、または名前のテキストとして使用する場合、この文字は「\」を使用してエスケープする必要があります。例:{{class-name}} は {com.singularity.RestObject} と表示されます。 

パラメータに加えて文字を使うことができます。例えば、以下の例では、クラス名とメソッド名がスラッシュで区切られています。

rest-transaction-naming={class-name}/{method-name}

この例に従えば、Java エージェントがクラス名が com.company.rest.resources.Employees でメソッドが CreateNewEmployee の REST リソースを検出した場合、ビジネストランザクションには com.company.rest.resources.Employees/CreateNewEmployee という名前が付けられます。