public class DefaultContextLoadTimeWeaver extends java.lang.Object implements LoadTimeWeaver, BeanClassLoaderAware, DisposableBean
LoadTimeWeaver Bean。自動検出された内部 LoadTimeWeaver を装飾します。 通常、デフォルトの Bean 名 "loadTimeWeaver" に登録されます。これを実現するための最も便利な方法は、Spring の <context:load-time-weaver> XML タグです。
このクラスは、適切なウィーバー実装を取得するためのランタイム環境チェックを実装します。Spring Framework 5.0 の時点で、Oracle WebLogic 10+、GlassFish 4 +、Tomcat 8 +、WildFly 8 +、IBM WebSphere 8.5+、Spring's VM agent、Spring の ReflectiveLoadTimeWeaver(Liberty など)でサポートされるすべての ClassLoader を検出します。
ConfigurableApplicationContext.LOAD_TIME_WEAVER_BEAN_NAME| コンストラクターと説明 |
|---|
DefaultContextLoadTimeWeaver() |
DefaultContextLoadTimeWeaver(java.lang.ClassLoader beanClassLoader) |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | addTransformer(java.lang.instrument.ClassFileTransformer transformer) この LoadTimeWeaver によって適用される ClassFileTransformer を追加します。 |
protected LoadTimeWeaver | createServerSpecificLoadTimeWeaver(java.lang.ClassLoader classLoader) |
void | destroy()Bean の破棄時に、包含 BeanFactory によって呼び出されます。 |
java.lang.ClassLoader | getInstrumentableClassLoader() ユーザー定義の ClassFileTransformers に基づいて、AspectJ スタイルのロード時ウィービングによる計測をサポートする ClassLoader を返します。 |
java.lang.ClassLoader | getThrowawayClassLoader() 使い捨て ClassLoader を返します。これにより、親 ClassLoader に影響を与えることなくクラスをロードおよびインスペクションできます。 |
void | setBeanClassLoader(java.lang.ClassLoader classLoader)Bean class loader を Bean インスタンスに提供するコールバック。 |
protected final Log logger
public DefaultContextLoadTimeWeaver()
public DefaultContextLoadTimeWeaver(java.lang.ClassLoader beanClassLoader)
public void setBeanClassLoader(java.lang.ClassLoader classLoader)
BeanClassLoaderAwareclass loader を Bean インスタンスに提供するコールバック。 通常の Bean プロパティの設定後、ただし InitializingBean's InitializingBean.afterPropertiesSet() メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。
BeanClassLoaderAware 内の setBeanClassLoader classLoader - 所有クラスローダー @Nullable protected LoadTimeWeaver createServerSpecificLoadTimeWeaver(java.lang.ClassLoader classLoader)
public void destroy()
DisposableBeanBeanFactory によって呼び出されます。DisposableBean 内の destroy public void addTransformer(java.lang.instrument.ClassFileTransformer transformer)
LoadTimeWeaverLoadTimeWeaver によって適用される ClassFileTransformer を追加します。LoadTimeWeaver 内の addTransformer transformer - 追加する ClassFileTransformer public java.lang.ClassLoader getInstrumentableClassLoader()
LoadTimeWeaverClassFileTransformers に基づいて、AspectJ スタイルのロード時ウィービングによる計測をサポートする ClassLoader を返します。 現在の ClassLoader か、この LoadTimeWeaver インスタンスによって作成された ClassLoader の可能性があります。
LoadTimeWeaver 内の getInstrumentableClassLoader ClassLoader public java.lang.ClassLoader getThrowawayClassLoader()
LoadTimeWeaverClassLoader を返します。これにより、親 ClassLoader に影響を与えることなくクラスをロードおよびインスペクションできます。LoadTimeWeaver.getInstrumentableClassLoader() の呼び出しから返された ClassLoader の同じインスタンスを返すべきではありません。
LoadTimeWeaver 内の getThrowawayClassLoader ClassLoader; 既存の状態なしで、呼び出しごとに新しいインスタンスを返す必要があります