サポートアドバイザリ 56039:Lambda によってトリガーされるエラー

このドキュメントでは、AppDynamics 製品のサポートアドバイザリについて説明します。

概要

AppDynamics は、Java 8 の特定の lambda 構造のインストルメンテーションが NoClassDefFoundError などの Java ランタイムでエラーをトリガーする可能性があることを発見しました。

影響を受けるソフトウェア

この問題は、Java 8(3.9 から)から 4.1.7 までをサポートする Java エージェントに影響します。

4.1.8 および 4.2 では、lambda インスタンスのインストルメンテーションが無効化されています。

影響

4.1.7 より前では、NoClassDefFoundError 例外がユーザーアプリケーションで現れる場合があります。

4.1.8 または 4.2 以降、ラムダ インストルメンテーションに依存するアプリケーションはこのインストルメンテーションを使用できなくなり、アプリケーションの動作に影響を与えるリスクが回避されます。これは JDK のバグであり、 JDK-8145964 として追跡されています。

回避策

以前の Lambda インストルメンテーションに依存しているアプリケーションの場合、同等の可視性を提供するためには他のカスタム設定を活用する必要があります。