使用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 查看发布的服务

相关文章推荐

被事务代理的spring service 使用注解方式发布Dubbo服务

spring dubbo transaction

Spring Cloud(Netflix) Feign: 以Dubbo暴露服务的方式使用Feign

需求场景在微服务架构中,服务的请求者以何种方式调用远程服务是一项核心问题。在Spring Cloud(Netflix)技术栈中,每个微服务是以HTTP REST接口的形式暴露的,这样在执行远程调用时,...

使用OLE自动化方式操作Excel表格

  • 2016年09月17日 11:58
  • 24.89MB
  • 下载

Dubbo简单使用说明

初次接触到RPC框架还是从RMI框架开始的,当时使用了Hessian进行远程的方法调用,于是乎慢慢的去查找相关资料去了解. 有幸的是在第一次在公司做分布式集群的时候,就能将当初了解的RPC框架--D...

MFC使用ADO方式操作Access数据库

  • 2015年10月10日 11:06
  • 23.78MB
  • 下载

Dubbo的正确打开方式之基本接口定义及异常处理

为什么要写这篇文章呢?因为公司在使用Dubbo时并没有对Dubbo的用法做深入的了解,而是属于拿来就用,随着自己的想法来使用。这样很不好,就像天龙八部的鸠摩智练习错误的六脉神剑一样,方式不对,就容易走...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用annnotation方式接入dubbo的操作说明
举报原因:
原因补充:

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