美文网首页
基于Kubernetes的dubbo mock测试系统

基于Kubernetes的dubbo mock测试系统

作者: Lancelot_dh | 来源:发表于2022-03-10 17:54 被阅读0次

    1、编写javaagent用于对dubbo invoke方案做切面处理

    public class Agent {
    
        private static final Logger logger = LogManager.getLogger(Agent.class);
    
        public static void premain(String arguments, Instrumentation instrumentation)   {
     // 匹配被拦截方法    
      agentBuilder.type(named("com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker"))
                    .transform(
                            new AgentBuilder.Transformer() {
                                @Override
                                public DynamicType.Builder<?> transform(DynamicType.Builder<?> builder, TypeDescription type, ClassLoader classLoader, JavaModule module) {
                                    return builder.method(named("invoke")).intercept(
                                            MethodDelegation.withDefaultConfiguration().to(
                                                    new CommonInterceptor(classLoader, "com.example.dubbomock.agent.DubboInvokeInterceptor")));
                                }
                            }
                    ).installOn(instrumentation);
    
    //注解方式l配置依赖的dubbo interface方式拦截
     agentBuilder.type(named("com.alibaba.dubbo.config.ReferenceConfig"))
                    .transform(
                            //拦截器没有call 其他类加载器加载的类,无需做classloader转换
                            new AgentBuilder.Transformer() {
                                @Override
                                public DynamicType.Builder<?> transform(DynamicType.Builder<?> builder, TypeDescription type, ClassLoader classLoader, JavaModule module) {
                                    return builder.method(named("createProxy")).intercept(
                                            MethodDelegation.to(DubboStartInterceptor.class));
                                }
                            }
                    ).installOn(instrumentation);
    
    }
    

    相关文章

      网友评论

          本文标题:基于Kubernetes的dubbo mock测试系统

          本文链接:https://www.haomeiwen.com/subject/yyfqdrtx.html