02700-AM-8990 IllegalArgumentException例外への対応(Apache Tomcat7以降)

■問題

Apache Tomcatを計測時にIllegalArgumentExceptionが生じJava Agentのログに記録されることがありました。またこの場合に一部のメソッドが計測対象外となっていました。

 

■条件

Sheltyバージョン:2.3.0以降
条件:以下の条件をすべて満たす場合

  • Apache Tomcat 7以降

  • Java Agent トランザクションデータ を取得している

  • DB呼出しが行われている

 

■原因

Apache Tomcatの既存実装に起因する問題です。
該当クラス(org.apache.tomcat.jdbc.pool.StatementFacade.StatementProxy$StatementProxy)が提供するequalsメソッドでは、常にパラメータがProxyクラスであることを前提とした実装になっています。
Java Agent計測にて、計測対象インスタンスを検索する過程で当クラスのequalsメソッドの呼出しがあり、Proxy以外のクラスを渡して比較実施された際に例外が生じていました。

 

■修正内容

ロジックを見直しました。

  

■使用方法

モジュールバージョン管理(AGTCNF02)画面でバージョンを2.7.0に更新してください。

 

Copyright © IIM. All Rights Reserved.