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.