dubbo API的使用方式
本文使用maven方式
1:pom文件
<dependencies>
<!-- 引入spring的jar -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.0.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.0.2.RELEASE</version>
</dependency> <!-- 引入zk -->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.3</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.5</version>
</dependency> <!-- 引入dubbo -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.7</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>spring</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency> </dependencies>
2:服务端
//服务端的代码
public class DubboServer { public static void main(String[] args) throws IOException {
initServer();
} public static void initServer() throws IOException {
//设置应用名称
ApplicationConfig config = new ApplicationConfig();
config.setName("dubboAppServer"); //连接注册中心
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress("192.168.30.128:2181"); //本地虚拟机的地址
registryConfig.setProtocol("zookeeper"); //设置协议
ProtocolConfig protocolConfigRmi = new ProtocolConfig();
protocolConfigRmi.setPort(12880);
protocolConfigRmi.setName("rmi"); //设置rmi的协议 ProtocolConfig protocolConfigDubbo = new ProtocolConfig();
protocolConfigDubbo.setPort(12881);
protocolConfigDubbo.setName("dubbo"); //设置dubbo的协议 //服务提供者暴露服务
ServiceConfig<OrderService> serviceServiceConfig = new ServiceConfig<OrderService>();
serviceServiceConfig.setApplication(config); //设置应用名称
serviceServiceConfig.setRegistry(registryConfig); //设置注册中心
serviceServiceConfig.
setProtocols(Arrays.asList(protocolConfigRmi,protocolConfigDubbo)); //设置两个协议 serviceServiceConfig.setInterface(OrderService.class); //设置接口
serviceServiceConfig.setRef(new OrderServiceImpl()); //设置具体实现类 serviceServiceConfig.export(); //暴露和注册服务 System.in.read(); }
3:消费端
//消费端代码
public class DubboConsumer { public static void main(String[] args) {
initConsumer();
} public static void initConsumer(){
//设置应用名称
ApplicationConfig config = new ApplicationConfig();
config.setName("dubboAppConsumer"); //连接注册中心
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress("192.168.30.128:2181"); //本地虚拟机的地址
registryConfig.setProtocol("zookeeper"); ReferenceConfig<OrderService> referenceConfig = new ReferenceConfig<OrderService>();
referenceConfig.setApplication(config);
referenceConfig.setRegistry(registryConfig);
referenceConfig.setInterface(OrderService.class);
referenceConfig.setProtocol("dubbo"); OrderService order = referenceConfig.get();
Integer num = order.buyShop(); //具体的调用
referenceConfig.destroy(); System.out.println(num); }
dubbo API的使用方式的更多相关文章
- 关于RESTFUL API 安全认证方式的一些总结
常用认证方式 在之前的文章REST API 安全设计指南与使用 AngularJS & NodeJS 实现基于 token 的认证应用两篇文章中,[译]web权限验证方法说明中也详细介绍,一般 ...
- 关于 RESTFUL API 安全认证方式的一些总结
常用认证方式 在之前的文章REST API 安全设计指南与使用 AngularJS & NodeJS 实现基于 token 的认证应用两篇文章中,[译]web权限验证方法说明中也详细介绍,一般 ...
- dubbo服务启动的方式
dubbo服务启动的方式: 1.dubbo自带的脚本, 2.直接用main方法启动dubbo的spring容器,参见dubbo-test里的各个例子 3.dubbo的spring boot start ...
- 利用SparkLauncher 类以JAVA API 编程的方式提交Spark job
一.环境说明和使用软件的版本说明: hadoop-version:hadoop-2.9.0.tar.gz spark-version:spark-2.2.0-bin-hadoop2.7.tgz jav ...
- 深入了解Kubernetes REST API的工作方式
关于Kubernetes REST API的工作方式: 在哪里以及如何定义从REST路径到处理REST调用的函数的映射? 与etcd的交互发生在哪里? 从客户端发出请求到保存在etcd中对象的端到端路 ...
- 几种部署Goku API Gateway的方式,最快一分钟可使用上网关
本文将介绍几种部署Goku API Gateway的方式,最快一分钟可使用上为网关,详情请看全文. 什么是Goku API Gateway? Goku API Gateway (中文名:悟空 API ...
- RESTFUL API 安全认证方式
一般基于REST API 安全设计常用方式有: HTTP Basic Basic admin:admin Basic YWRtaW46YWRtaW4= Authorization: Basic YWR ...
- java:struts框架2(方法的动态和静态调用,获取Servlet API三种方式(推荐IOC(控制反转)),拦截器,静态代理和动态代理(Spring AOP))
1.方法的静态和动态调用: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCT ...
- dubbo学习(三)配置dubbo API方式配置
provider(生产者) import com.alibaba.dubbo.config.ApplicationConfig; import com.alibaba.dubbo.config.Pro ...
随机推荐
- 123457123456#3#----com.ppGame.konglongPuzzle78--前拼后广--konglongPT游戏_pp
com.ppGame.konglongPuzzle78--前拼后广--konglongPT游戏_pp
- C#中Invoke的用法(转)
invoke和begininvoke 区别 一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解. 首先说下,invoke和beg ...
- Python3 IO编程之StringIO和BytesIO
StringIO 很多时候,数据读写不一定是文件,也可以在内存中读写. 要把str写入StringIO,我们需要先创建一个StringIO,然后像文件一样写入即可 >>> from ...
- 【GStreamer开发】GStreamer基础教程12——流
目标 直接播放Internet上的文件而不在本地保存就被称为流播放.我们在前面教程里已经这样做过了,使用了http://的URL.本教程展示的是在播放流的时候需要记住的几个点,特别是: 如何设置缓冲 ...
- Django 之安全篇
一.CSRF攻击 CSRF攻击概述: CSRF(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻击方式,它在 2007 年曾被列为互联网 20 大安全隐患之一.其 ...
- git使用安装
下载地址 http://msysgit.github.io/ 配置个人的用户名称和电子邮件地址: $ git config --global user.name "runoob" ...
- 生命不息,奔跑不止,持之以恒,勇攀高峰——JasonCeng的跑步打卡
生命不息,奔跑不止,持之以恒,勇攀高峰!JasonCeng的跑步打卡博文,持续更新,培养好习惯,一起变成更优秀的自己! 2019-12-20-5.05km Avg-speed(均速): 5'56'' ...
- jenkins【目录】:目录
jenkins[目录]:目录 GitLab 自动触发 Jenkins 构建 返回
- 在 Docker 中手工部署 ASP.NET Core 应用
另一篇:在 Visual Studio 中部署 ASP.NET Core 应用 操作步骤 1. 安装 Docker For Windows(安装之前 Windows 需要开启 Hyper-V 虚拟机 ...
- C++_向函数传递对象
向函数传递对象 1. 使用对象作为函数参数 对象可以作为参数传递给函数,其方法与传递其他类型的数据相同. 在向函数传递对象时,是通过传值调用传递给函数的. 因此,函数中对对象的任何修改均不影响调用该函 ...