dubbo学习二简单dubbo实现

用maven项目来完成本次学习

准备工作

框架版本:

  • tomcat8,jdk7
  • dubbo-admin-2.4.1.war 这是dubbo管理war包,修改war直接扔到tomcat跑就可以了。
  • zookeeper-3.4.5 本实例使用zookeeper作为注册中心,其实还能使用其他的,这里不详细讲解。

2.1 搭建zookeeper(我这里是window环境)

请参考window7环境下ZooKeeper的安装及运行 单机搭建很简单。

2.2 部署dubbo-admin-2.4.1.war

直接放到tomcat的webapp文件夹下,运行tomcat。

  • 配置信息都在WEB-INF/dubbo.properties下,管理员账号密码都是root,zookeeper的地址等。

打开浏览器输入:http://localhost:8080/dubbo-admin-2.4.1 
(运行前记得先打开zookeeper服务) 
输入账号密码root,进入这个页面就算成功了。 
dubbo学习二简单dubbo实现_第1张图片

三、创建提供者provider工程(使用maven构建)

导入依赖, pom.xml 如下:



com.alibaba
dubbo
2.5.6



com.github.sgroschupf
zkclient
0.1

com.itmayiedu
itmayiedu-dubbo-service
0.0.1-SNAPSHOT



在service包下创建接口UserService .java



public interface UserService {


 //提供服务  使用userId查找用户信息FS
 public String getUserId(Integer id);

}

在productor工程下实现接口UserService .java



public class UserServiceImpl implements UserService {


public String getUserId(Integer id) {
System.out.println("被客户端(消费者)消费....id:" + id);
if (id == 1) {
return "艾福杰尼";
}
if (id == 2) {
return "GAI";
}
if (id == 3) {
return "码云";
}
return "未找到...";

}
}

接下来填写provider里面来暴露接口:新建一个xml:provider.xml


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 ">









ref="userService" />



到此服务接口已经定义好,接下来要通过main方法读取配置文件,来达到zookeeper服务注册的效果。

创建ProviderApp.java

public static void main(String[] args) throws IOException {
ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("provider.xml");
app.start();
System.out.println("服务发布成功...");
System.in.read();//让程序阻塞。
}

运行ProviderApp,即可。

如何校验是否成功注册?进入dubbo-admin,点菜单栏上的提供者,如下图就注册成功了,成功暴露接口。 
dubbo学习二简单dubbo实现_第2张图片

创建消费者consumer项目:

引入依赖, pom.xml 如下


com.alibaba
dubbo
2.5.6



com.github.sgroschupf
zkclient
0.1


com.itmayiedu
itmayiedu-dubbo-service
0.0.1-SNAPSHOT


配置 dubbo-consumer.xml ,向zookeeper注册接口:

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">







创建ConsumerApp.java,运行测试:
 public static void main(String[] args) throws IOException {
 ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("consumer.xml");
 app.start();
 UserService userService=(UserService) app.getBean("userService");
 String name = userService.getUserId(3);
 System.out.println("消费端从生产者获取到 name:"+name);
 System.in.read();
 
}
运行结果
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
消费端从生产者获取到 name:码云
至此,已经完成 在main方法模拟调用远程接口










你可能感兴趣的:(dubbo学习)