public class ReflectiveLoadTimeWeaver extends java.lang.Object implements LoadTimeWeaver
LoadTimeWeaver
。基になる ClassLoader は、次のウィービングメソッド(LoadTimeWeaver
インターフェースで定義されている)をサポートすることが期待されています。public void addTransformer(java.lang.instrument.ClassFileTransformer)
: この ClassLoader に指定された ClassFileTransformer を登録するため public ClassLoader getThrowawayClassLoader()
: この ClassLoader の使い捨てクラスローダーを取得するため (オプション ; ReflectiveLoadTimeWeaver は、その方法が利用できない場合、SimpleThrowawayClassLoader にフォールバックします)上記のメソッドは、パブリックにアクセス可能なクラスに存在する必要があることに注意してください。ただし、クラス自体はアプリケーションのクラスローダーから見える必要はありません。
この LoadTimeWeaver のリフレクティブな性質は、基になる ClassLoader 実装が別のクラスローダー自体(アプリケーションサーバーのクラスローダーなど、Web アプリケーションからは見えない)にロードされている場合に特に役立ちます。この LoadTimeWeaver アダプターと基になる ClassLoader の間に直接の API 依存関係はなく、単に「緩い」メソッド契約です。
これは使用する LoadTimeWeaver です。Resin アプリケーションサーバーバージョン 3.1 +。
addTransformer(java.lang.instrument.ClassFileTransformer)
, getThrowawayClassLoader()
, SimpleThrowawayClassLoader
コンストラクターと説明 |
---|
ReflectiveLoadTimeWeaver() 現在のコンテキストクラスローダー用の新しい ReflectiveLoadTimeWeaver を作成します。 これは、必要なウィービングメソッドをサポートする必要があります。 |
ReflectiveLoadTimeWeaver(java.lang.ClassLoader classLoader) 指定されたクラスローダーの新しい SimpleLoadTimeWeaver を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addTransformer(java.lang.instrument.ClassFileTransformer transformer) この LoadTimeWeaver によって適用される ClassFileTransformer を追加します。 |
java.lang.ClassLoader | getInstrumentableClassLoader() ユーザー定義の ClassFileTransformers に基づいて、AspectJ スタイルのロード時ウィービングによる計測をサポートする ClassLoader を返します。 |
java.lang.ClassLoader | getThrowawayClassLoader() 使い捨て ClassLoader を返します。これにより、親 ClassLoader に影響を与えることなくクラスをロードおよびインスペクションできます。 |
public ReflectiveLoadTimeWeaver()
public ReflectiveLoadTimeWeaver(@Nullable java.lang.ClassLoader classLoader)
classLoader
- ウィービングのために委譲する ClassLoader
( 必要な織り方をサポートする必要があります)java.lang.IllegalStateException
- 提供された ClassLoader
が必要なウィービング方法をサポートしていない場合 public void addTransformer(java.lang.instrument.ClassFileTransformer transformer)
LoadTimeWeaver
LoadTimeWeaver
によって適用される ClassFileTransformer
を追加します。LoadTimeWeaver
の addTransformer
transformer
- 追加する ClassFileTransformer
public java.lang.ClassLoader getInstrumentableClassLoader()
LoadTimeWeaver
ClassFileTransformers
に基づいて、AspectJ スタイルのロード時ウィービングによる計測をサポートする ClassLoader
を返します。 現在の ClassLoader
か、この LoadTimeWeaver
インスタンスによって作成された ClassLoader
の可能性があります。
LoadTimeWeaver
の getInstrumentableClassLoader
ClassLoader
public java.lang.ClassLoader getThrowawayClassLoader()
LoadTimeWeaver
ClassLoader
を返します。これにより、親 ClassLoader
に影響を与えることなくクラスをロードおよびインスペクションできます。LoadTimeWeaver.getInstrumentableClassLoader()
の呼び出しから返された ClassLoader
の同じインスタンスを返すべきではありません。
LoadTimeWeaver
の getThrowawayClassLoader
ClassLoader
; 既存の状態なしで、呼び出しごとに新しいインスタンスを返す必要があります