2

カスタムcxfインターセプターを使用して、サービス呼び出しの要求/応答をログに記録しています。呼び出しにかかった時間を応答とともにログに記録したいと思います。

これを行う方法はありますか?

4

1 に答える 1

5

開始時刻をExchangeインインターセプターに保存する必要があります(サーバーの場合はアウトインターセプター、クライアントの場合はアウトインターセプター)

message.getExchange().put("com.myapp.startTime", System.currentTimeMillis());

アウト(それぞれイン)インターセプターでそれを取得します

long timeTaken = System.currentTimeMillis() - (Long)message.getExchange().get("com.myapp.startTime");

チェーンのどこに既存のインターセプターが配置されているかに応じて、専用のインターセプターのペアでこれを実行することをお勧めします。インはチェーンのできるだけ早い段階で、アウトのインターセプターはできるだけ遅くします(サーバーの場合はその逆)。クライアントの場合)。

于 2012-11-19T17:30:27.630 に答える