编程语言
首页 > 编程语言> > dubbo2.6.x源码-idea环境搭建

dubbo2.6.x源码-idea环境搭建

作者:互联网

git地址

https://github.com/Bannirui/dubbo.git

 

项目环境

" 代码clone
git clone https://github.com/Bannirui/dubbo.git

" 分支 study-2.6.x
git checkout -b study-2.6.x origin/2.6.x

" push
git push -u origin study-2.6.x

 

demo

以dubbo api方式构建服务 整合spring的思路肯定是利用后置处理器封装api的构建方式 目前将关注集中在dubbo本身

.
├── dubbo-demo
│   ├── dubbo-demo-api      // 接口
│   ├── dubbo-demo-consumer // 消费者
│   ├── dubbo-demo-provider // 提供者
└── tree.txt

 

生产者

/**
 * <p>以dubbo api方式构建 整合spring的思路肯定是利用后置处理器封装api的构建方式 目前将关注集中在dubbo本身</p>
 * @since 2022/5/18
 * @author dingrui
 */
public class ApiProvider {

    public static void main(String[] args) throws IOException {
        // 服务实现
        DemoService demoService = new DemoServiceImpl();

        // 当前应用配置
        ApplicationConfig application = new ApplicationConfig();
        application.setName("demo-provider");

        // 连接注册中心配置
        RegistryConfig registry = new RegistryConfig();
        registry.setAddress("multicast://224.5.6.7:1234");

        // 服务提供者协议配置
        ProtocolConfig protocol = new ProtocolConfig();
        protocol.setName("dubbo");
        protocol.setPort(20880);
        protocol.setThreads(200);

        // 服务提供者暴露服务配置 封装了与注册中心的连接
        ServiceConfig<DemoService> service = new ServiceConfig<DemoService>();
        service.setApplication(application);
        // 注册中心
        service.setRegistry(registry);
        // 协议
        service.setProtocol(protocol);
        service.setInterface(DemoService.class);
        service.setRef(demoService);

        // 暴露及注册服务
        service.export();

        System.in.read();
    }
}

 

消费者

/**
 * <p>以dubbo api方式构建</p>
 * @since 2022/5/18
 * @author dingrui
 */
public class ApiConsumer {

    public static void main(String[] args) {
        // 当前应用配置
        ApplicationConfig application = new ApplicationConfig();
        application.setName("demo-consumer");

        // 连接注册中心配置
        RegistryConfig registry = new RegistryConfig();
        registry.setAddress("multicast://224.5.6.7:1234");

        // 引用远程服务
        ReferenceConfig<DemoService> reference = new ReferenceConfig<DemoService>();
        reference.setApplication(application);
        reference.setRegistry(registry); // 多个注册中心可以用setRegistries()
        reference.setInterface(DemoService.class);

        // 和本地bean一样使用service
        DemoService demoService = reference.get();
        String ret = demoService.sayHello("world");
        System.out.println("--------------");
        System.out.println(ret);
    }
}

 

标签:dubbo,dubbo2.6,service,api,demo,idea,源码,registry,new
来源: https://www.cnblogs.com/miss-u/p/16286475.html