使用annnotation方式接入dubbo的操作说明

原创 2015年11月18日 14:43:26
dubbo依赖放在common包中,需版本升级为1.0.1-SNAPSHOT
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.5.3</version>
    <exclusions>
        <exclusion>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.jboss.netty</groupId>
            <artifactId>netty</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
        <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.6</version>
    <exclusions>
        <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
        <exclusion>
            <artifactId>log4j</artifactId>
            <groupId>log4j</groupId>
        </exclusion>
    </exclusions>
</dependency>

====================服务端====================0、项目分包,分离接口与实现类,对外服务接口统一放在facade包里。
(web,facade,biz(dao+service),integration,test)
1、项目配置java类添加annotation:
@ImportResource("classpath:dubbo-server-config.xml")

env.properties文件追加以下配置项
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=20881
2、
dubbo-server-config.xml文件内容:
    <dubbo:application name="${app.name}" />
    <dubbo:registry address="${dubbo.registry.address}" />
    <dubbo:annotation package="...." />
    <dubbo:protocol name="${dubbo.protocol.name}" port="${dubbo.protocol.port}" />

3、服务实现类添加@Service,如下示例:
@com.alibaba.dubbo.config.annotation.Service(
        version = "1.0.1",
        interfaceClass = EmailSenderFacade.class,
        timeout = 3000,
        delay = -1)
@Component
public class EmailSenderService implements EmailSenderFacade {
    //...
}

====================消费端====================
1、项目配置java类添加annotation:
@ImportResource("classpath:dubbo-consumer-config.xml")
env.properties文件追加以下配置项
dubbo.registry.address=zookeeper://127.0.0.1:2181

2、
dubbo-consumer-config.xml文件内容:
    <dubbo:application name="${app.name}" />
    <dubbo:registry address="${dubbo.registry.address}" />
    <dubbo:annotation package="..." />

3、服务消费配置,如下示例:

@Reference(version="1.0.1")
private EmailSenderFacade emailSenderFacade;

emailSenderFacade.send...

相关软件安装
e:
cd E:\apache-activemq-5.12.0-bin\apache-activemq-5.12.0\bin
activemq.bat start

d:


dubbo服务监控应用:dubbo-admin-2.5.3.war,放在tomcat app目录下,改名为dubbo-admin
war包中自带有dubbo.properties,修改配置
dubbo.registry.address=zookeeper://localhost:2181
dubbo.admin.root.password=root

启动zookeeper,dubbo-admin:
cd D:\zookeeper-3.4.6\zookeeper-3.4.6\bin\
zkServer.cmd
cd E:\apache-tomcat-6.0.44-x64\bin
startup.bat

root/root访问http://localhost:9090/dubbo-admin/governance/services 查看发布的服务

dubbo提供方与消费方的三种连接方式

1、采用zookeeper作为注册中心
  • cjm1103
  • cjm1103
  • 2017年05月14日 11:53
  • 2030

dubbo 使用学习五(dubbo开发中使用到的一些服务配置方式)

通过之前的学习了解了dubbo的常规的使用,下面我们看看特殊情况或者说真实环境下使用dubbo的一些配置实例。 一、一个接口有多个实现时可以使用group来区分 1、服务提供者配置 ...
  • QH_JAVA
  • QH_JAVA
  • 2016年10月26日 23:20
  • 8049

阿里Dubbo的架构通信方式

  • ranjio_z
  • ranjio_z
  • 2016年09月12日 15:46
  • 555

Dubbo的三种连接方式

一、直连提供者+只订阅 开发测试环境下,需要绕过注册中心,直接测试服务提供者, 1.在消费方配置【可以两个以上,中间用逗号隔开】。 serviceImpl里加个断点,每次访问都会走断点。...
  • Aliloke
  • Aliloke
  • 2017年10月29日 18:06
  • 834

Dubbo服务和EDAS服务互调

1.HSF调用Dubbo 1.1 EDAS项目和Dubbo项目要求 EDAS只支持war包形式的Web项目,通过Ali-tomcat启动 Dubbo项目没有限制,这里采用war包,通过普通tom...
  • djy_2017
  • djy_2017
  • 2017年09月03日 11:03
  • 880

使用maven创建dubbo的提供者

首先我们创建maven项目,创建maven工程我这就不在叙述,网上一搜一大堆。 接下来看下一个截图 这是创建的maven工程。 接下来需要引入一些jar包。 4.0.0 ...
  • hsl_1990_08_15
  • hsl_1990_08_15
  • 2016年06月08日 15:50
  • 1084

spring整合dubbo-2.5.3(使用TCP广播或者zookeeper 暴露和发现服务)

spring整合dubbo-2.5.3
  • liang_love_java
  • liang_love_java
  • 2016年02月29日 11:25
  • 2953

dubbo中使用各协议简介

对dubbo的协议的学习,可以知道目前主流RPC通信大概是什么情况,本文参考dubbo官方文档 参考:http://dubbo.io/User+Guide-zh.htm#UserGuide-zh...
  • lr131425
  • lr131425
  • 2017年06月05日 09:13
  • 339

dubbo广播连接失败

java.lang.IllegalStateException: Failed to check the status of the service com.xxx.xxx xxxService. 原...
  • tc1106_site
  • tc1106_site
  • 2017年06月17日 16:38
  • 524

入门Dubbo学习知识整合及心得

简述:     Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成。是阿里巴巴开源的单一长连接服...
  • o9109003234
  • o9109003234
  • 2015年04月29日 21:46
  • 3091
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用annnotation方式接入dubbo的操作说明
举报原因:
原因补充:

(最多只允许输入30个字)