简单的基于dubbo的调用
来源:互联网 发布:2016年餐饮业数据分析 编辑:程序博客网 时间:2024/05/16 00:29
1首先下载zookeeper-3.4.6,修改zoo.cfg下的配置信息,然后启动zookeeper
2编写服务端
package com.mor.server.dubbo.service;//方法接口public interface DemoServer {String sayHello(String str);}<pre name="code" class="java">/** * */package com.mor.server.dubbo.service;import java.util.Date;//方法实现public class DemoServerImpl implements DemoServer {/** * 返回添加后的语句 */public String sayHello(String str) {str = "Hello " + str + " 2:" + new Date();System.err.println("server:" + str);return str;}}
/** * */package com.mor.main;import java.io.IOException;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Main {//先启动这个 注册到zookpeer里面public static void main(String[] args) throws IOException {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "applicationProvider.xml" });context.start();System.out.println("按任意键退出");System.in.read();}}
<?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:application name="hello-world-app" /><!-- 本机 伪集群 测试 --><dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" /><!-- dubbo暴露地址 --><dubbo:protocol name="dubbo" port="8088" /><!-- Dubbo要实现的接口类 --><dubbo:service interface="com.mor.server.dubbo.service.DemoServer"ref="demoService" /><!-- 和本地bean一样实现服务 --><bean id="demoService" class="com.mor.server.dubbo.service.DemoServerImpl" /></beans>
启动服务端应用
编写客户端代码
package com.mor.client.dubbo.action;import java.util.Date;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.mor.server.dubbo.service.DemoServer;public class ChatAction { public void SayHello(){ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "applicationConsumer.xml" });context.start();DemoServer demoServer = (DemoServer) context.getBean("demoService");System.out.println("client:"+demoServer.sayHello("Wanggq"+"1:"+new Date())+"3:"+new Date()); }}
package com.mor.client.dubbo.main;import com.mor.client.dubbo.action.ChatAction;public class Main { public static void main(String[] args) throws InterruptedException { int i=0; while(i++<100){ ChatAction act = new ChatAction(); System.out.println("--------------------测试1111111------------------------------------"); act.SayHello(); Thread.sleep(3000); } }}
<?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:application name="consumer-of-helloworld-app" /> <!-- 使用multicast广播注册中心暴露发现服务地址 --><dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" /> <!-- 生成远程服务代理,可以和本地bean一样使用demoService --><!-- dubbo暴露地址 --><dubbo:protocol name="dubbo" port="8088" /><dubbo:reference id="demoService" interface="com.mor.server.dubbo.service.DemoServer" /></beans>
启动客户端,然后再控制台查看信息
0 0
- 简单的基于dubbo的调用
- 基于Dubbo的动态远程调用
- 基于Dubbo的动态远程调用
- 基于Dubbo的动态远程调用
- Hydra - 京东开源的基于Dubbo的调用分布跟踪系统
- Hydra - 京东开源的基于Dubbo的调用分布跟踪系统
- 基于Dubbo的Hessian协议实现远程调用
- 基于Dubbo的Hessian协议实现远程调用
- 基于Dubbo的Hessian协议实现远程调用
- 基于dubbo的hessian协议远程调用实例
- 基于ZooKeeper的Dubbo注册中心的简单例子
- 基于maven+dubbo+spring+zookeeper的简单项目搭建
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件
- 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件
- 12. Dubbo原理解析-注册中心之基于dubbo协议的简单注册中心实现
- Dubbo原理解析-注册中心之基于dubbo协议的简单注册中心实现
- Dubbo原理解析-注册中心之基于dubbo协议的简单注册中心实现
- HTML5 地理位置
- Python中用format函数格式化字符串
- C语言实验——时间间隔
- leetcode258: Add Digits
- 第八周—兑换钱
- 简单的基于dubbo的调用
- java 注解——Annotations Basics
- 消息称新MacBook暂时不会采用电子墨水键盘
- python学习(3)输入和输出
- Note背后
- 算法一:字符串的模式匹配
- 杀死全部的Activity,退出当前程序
- [Lintcode] Longest Substring Without Repeating Characters 最长无重复字符的子串
- 认识正则表达式