提交 13816c8c 编写于 作者: wu-sheng's avatar wu-sheng

Add “ClassLoader” paramter for enhance method. Prepare for improving...

Add “ClassLoader” paramter for enhance method. Prepare for improving interceptor initialization performance.
上级 6b2849db
......@@ -52,7 +52,7 @@ public abstract class AbstractClassEnhancePluginDefine {
/**
* find origin class source code for interceptor
*/
DynamicType.Builder<?> newClassBuilder = this.enhance(transformClassName, builder);
DynamicType.Builder<?> newClassBuilder = this.enhance(transformClassName, builder, classLoader);
logger.debug("enhance class {} by {} completely.", transformClassName, interceptorDefineClassName);
......@@ -60,7 +60,7 @@ public abstract class AbstractClassEnhancePluginDefine {
}
protected abstract DynamicType.Builder<?> enhance(String enhanceOriginClassName,
DynamicType.Builder<?> newClassBuilder) throws PluginException;
DynamicType.Builder<?> newClassBuilder, ClassLoader classLoader) throws PluginException;
/**
* Define the classname of target class.
......
......@@ -49,10 +49,10 @@ public abstract class ClassEnhancePluginDefine extends AbstractClassEnhancePlugi
*/
@Override
protected DynamicType.Builder<?> enhance(String enhanceOriginClassName,
DynamicType.Builder<?> newClassBuilder) throws PluginException {
newClassBuilder = this.enhanceClass(enhanceOriginClassName, newClassBuilder);
DynamicType.Builder<?> newClassBuilder, ClassLoader classLoader) throws PluginException {
newClassBuilder = this.enhanceClass(enhanceOriginClassName, newClassBuilder, classLoader);
newClassBuilder = this.enhanceInstance(enhanceOriginClassName, newClassBuilder);
newClassBuilder = this.enhanceInstance(enhanceOriginClassName, newClassBuilder, classLoader);
return newClassBuilder;
}
......@@ -65,7 +65,7 @@ public abstract class ClassEnhancePluginDefine extends AbstractClassEnhancePlugi
* @return new byte-buddy's builder for further manipulation.
*/
private DynamicType.Builder<?> enhanceInstance(String enhanceOriginClassName,
DynamicType.Builder<?> newClassBuilder) throws PluginException {
DynamicType.Builder<?> newClassBuilder, ClassLoader classLoader) throws PluginException {
ConstructorInterceptPoint[] constructorInterceptPoints = getConstructorsInterceptPoints();
InstanceMethodsInterceptPoint[] instanceMethodsInterceptPoints = getInstanceMethodsInterceptPoints();
......@@ -173,7 +173,7 @@ public abstract class ClassEnhancePluginDefine extends AbstractClassEnhancePlugi
* @return new byte-buddy's builder for further manipulation.
*/
private DynamicType.Builder<?> enhanceClass(String enhanceOriginClassName,
DynamicType.Builder<?> newClassBuilder) throws PluginException {
DynamicType.Builder<?> newClassBuilder, ClassLoader classLoader) throws PluginException {
StaticMethodsInterceptPoint[] staticMethodsInterceptPoints = getStaticMethodsInterceptPoints();
if (staticMethodsInterceptPoints == null || staticMethodsInterceptPoints.length == 0) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册