public class ReflectiveLoadTimeWeaver extends ObjectSE 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(ClassLoaderSE classLoader) 指定されたクラスローダーの新しい SimpleLoadTimeWeaver を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addTransformer(ClassFileTransformerSE transformer) この LoadTimeWeaver によって適用される ClassFileTransformer を追加します。 |
ClassLoaderSE | getInstrumentableClassLoader() ユーザー定義の ClassFileTransformers SE に基づいて、AspectJ スタイルのロード時間ウィービングによる計測をサポートする ClassLoader を返します。 |
ClassLoaderSE | getThrowawayClassLoader() 使い捨て ClassLoader を返します。これにより、親 ClassLoader に影響を与えることなくクラスをロードおよびインスペクションできます。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public ReflectiveLoadTimeWeaver()
public ReflectiveLoadTimeWeaver(@Nullable ClassLoaderSE classLoader)
classLoader
- ウィービングのために委譲する ClassLoader
( 必要な織り方をサポートする必要があります)IllegalStateExceptionSE
- 提供された ClassLoader
が必要なウィービング方法をサポートしていない場合 public void addTransformer(ClassFileTransformerSE transformer)
LoadTimeWeaver
LoadTimeWeaver
によって適用される ClassFileTransformer
を追加します。LoadTimeWeaver
の addTransformer
transformer
- 追加する ClassFileTransformer
public ClassLoaderSE getInstrumentableClassLoader()
LoadTimeWeaver
ClassFileTransformers
SE に基づいて、AspectJ スタイルのロード時間ウィービングによる計測をサポートする ClassLoader
を返します。 現在の ClassLoader
か、この LoadTimeWeaver
インスタンスによって作成された ClassLoader
の可能性があります。
LoadTimeWeaver
の getInstrumentableClassLoader
ClassLoader
public ClassLoaderSE getThrowawayClassLoader()
LoadTimeWeaver
ClassLoader
を返します。これにより、親 ClassLoader
に影響を与えることなくクラスをロードおよびインスペクションできます。LoadTimeWeaver.getInstrumentableClassLoader()
の呼び出しから返された ClassLoader
SE の同じインスタンスを返さないでください。
LoadTimeWeaver
の getThrowawayClassLoader
ClassLoader
; 既存の状態なしで、呼び出しごとに新しいインスタンスを返す必要があります