dubbo学习--第一个dubbo示例

2018-12-18  本文已影响13人  ted005

第一个例子使用dubbo-demo工程,里面包含3个子项目:api, provider, consumer

image.png
api

定义一个简单的接口DemoService,用来描述服务,它的具体实现由provider来提供。

public interface DemoService {

    String sayHello(String name);

}
provider

配置文件dubbo-demo-provider.xml中使用dubbo命名空间定义的相关标签。

dubbo扩展了Spring XML Schema,有自己的XSD文件,其中定义了许多XML标签,用来在Spring容器中使用dubbo的功能。

xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
xsi:schemaLocation="http://dubbo.apache.org/schema/dubbo
                    http://dubbo.apache.org/schema/dubbo/dubbo.xsd"

provider的配置:

    <!-- provider's application name, used for tracing dependency relationship -->
    <dubbo:application name="demo-provider"/>

    <!-- 使用广播注册中心,广播自己的服务地址 -->
    <dubbo:registry address="multicast://224.5.6.7:1234"/>

    <!-- use dubbo protocol to export service on port 20880 -->
    <dubbo:protocol name="dubbo" port="20880"/>

    <!-- 实际的服务实现 -->
    <bean id="demoService" class="org.apache.dubbo.demo.provider.DemoServiceImpl"/>

    <!-- 暴露服务接口 -->
    <dubbo:service interface="org.apache.dubbo.demo.DemoService" ref="demoService"/>
consumer

对应的配置文件dubbo-demo-consumer.xml

    <!-- 不要和provider的名称相同 -->
    <dubbo:application name="demo-consumer"/>

    <!-- 使用广播注册中心来发现服务 -->
    <dubbo:registry address="multicast://224.5.6.7:1234"/>

    <!-- generate proxy for the remote service, then demoService can be used in the same way as the
    local regular interface -->
    <dubbo:reference id="demoService" check="false" interface="org.apache.dubbo.demo.DemoService"/>

DemoService demoService = (DemoService) context.getBean("demoService"); 

try {
    String hello = demoService.sayHello("world"); 
    System.out.println(hello);
} catch (Throwable throwable) {
    throwable.printStackTrace();
}

使用注解方式搭建dubbo的例子

以上是使用XML文件的方式配置dubbo,下面的完整代码完全使用注解来实现:
使用注解配置dubbo

上一篇下一篇

猜你喜欢

热点阅读