dubbo(3) 发布服务到服务注册中心-jar方式

1 项目结构

 
2 maven 依赖(多模块项目版本都配置父级配置中)
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>

<!-- spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</dependency>

<!-- dubbo -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- zookeeper -->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</dependency>

<!-- zkclient -->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
</dependency>

</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
<java.encoding>UTF-8</java.encoding>
<junit.version>3.8.1</junit.version>
<spring.version>4.3.10.RELEASE</spring.version>
<dubbo.versioin>2.5.5</dubbo.versioin>
<zookeeper.version>3.4.8</zookeeper.version>
<zkclient.version>0.1</zkclient.version>
</properties>
2  applicationcontext.xml
<!-- 采用注释的方式配置bean -->
<context:annotation-config />

<!-- 配置要扫描的包 -->
<context:component-scan base-package="com.chy.service" />

<!-- proxy-target-class默认"false",更改为"ture"使用CGLib动态代理 -->
<aop:aspectj-autoproxy proxy-target-class="true" />

<import resource="dubbo-provider.xml" />
3 dubbo-provider.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

<!-- 提供方应用名称信息,这个相当于起一个名字,我们dubbo管理页面比较清晰是哪个应用暴露出来的 -->
<dubbo:application name="dubbo-service" owner="programmer" />

<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry protocol="zookeeper"
address="zookeeper://127.0.0.1:2181" check="false" subscribe="false"
register="">
</dubbo:registry>

<!-- dubbo协议在20881端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20881" />

<!-- 用户服务接口 -->
<dubbo:service interface="com.chy.service.HelloService" ref="helloService" />

<!--
duboo不能解决不同开发语言调用接口的问题,
dubbox支持REST风格远程调用(http + json/xml)能解决不同开发语言调用接口
-->

</beans>
4 发布的接口
package com.chy.service;

/**
* Created by chy on 2017/12/8.
*/
public interface HelloService {

String sayHello(String str);

}
5 接口具体实现代码
package com.chy.service;

import org.springframework.stereotype.Service;

/**
* Created by chy on 2017/12/8.
*/
@Service("helloService")
public class HelloServiceImpl implements HelloService {

@Override
public String sayHello(String str) {
return "jar-Hello " + str;
}

}
6 程序入口
package com.chy;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.IOException;

/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args ) throws IOException
{
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationcontext.xml");
System.out.println(context.getDisplayName() + ": here");
context.start();
System.out.println("dubbo服务已经启动...");
System.in.read();
}
}
7 启动发布服务
 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值