クラスとメソッドによるマッチング
メソッドまたはメソッドが属するクラスのさまざまな形式に基づいて、カスタムルールの一致基準を指定できます。
メソッド名一致基準を指定する場合、特定のメソッドの署名に一致させるパラメータマッチングを使用します。たとえば、以下のクラスの 1 つまたは複数のメソッドをインストゥルメント化するとします。
class A
{
public void m1();
public void m1(String a);
public void m1(String a, com.mycompany.MyObject b);
}
次のように、各メソッドのインストルメンテーションをその署名に基づいて構成します。
- (パラメータのない)最初のメソッドの署名をインストゥルメント化するには、以下のようにPOJOベースのビジネストランザクションのマッチルールを作成します。
- Match Classes:with a Class Name that Equals A
- Method Name: Equals m1()
- 2番目のメソッドをインストゥルメント化するには、次のようにマッチルールを作成します。
- Match Classes:with a Class Name that Equals A
- Method Name:Equals m1(java.lang.String)
- 3 番目のメソッドをインストゥルメント化するには、次のようにマッチルールを作成します。
- Match Classes:with a Class Name that Equals A
- Method Name:Equals m1(java.lang.String, com.mycompany.MyObject)
特定の注釈を含むクラスに属したメソッドもマッチさせることができます。たとえば、@it.sauronsoftware.cron4j.Task で注釈が付けられたすべてのクラスを一致させるため、カスタムルール設定を次のように定義できます。
process()メソッド一致を呼び出した結果は、カスタムマッチルール名に基づいて命名されたビジネストランザクションになります。