- 浏览: 211758 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
hus20120405:
很不错,我运行起来了
log4jdbc日志框架介绍 -
Roshomon:
牛叉 找了很多解决方案 你的OK了
plsql ora-12154 TNS 无法处理服务名 -
ackley:
赞!谢谢!
Cannot access NLS data files or invalid ...
学习了 dubbo rest服务之后,再使用dubbo http协议,就非常简单了,只要将服务的暴露协议改为http即可,不需要根据jax-rs规范,引入@Path等一堆annotation。
1. dubbo 配置文件
这个文件是在前面练习的dubbo rest服务基础上增加的,只要增加
注意:如果以下这一行
2.接口类
3.实现类
4.客户端dubbo配置
5. 调用代码
6. 如果采用webservice协议暴露,只要将
1. dubbo 配置文件
<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-2.5.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <dubbo:application name="dubborest-webapp" owner="zhenggm" organization="zjport"/> <dubbo:registry address="zookeeper://192.168.3.140:2181"/> <!--uncomment this if you want to test dubbo's monitor--> <!--<dubbo:monitor protocol="registry"/>--> <!-- here we demonstrate both annotation-based and xml-based configs --> <dubbo:annotation package="cn.gov.zjport.dubborest.service" /> <!-- use tomcat server --> <dubbo:protocol name="rest" port="7056" contextpath="dubborest-webapp" server="servlet" extension="com.alibaba.dubbo.rpc.protocol.rest.support.LoggingFilter"/> <dubbo:service interface="cn.gov.zjport.dubborest.service.rest.RestDemoService" ref="restDemoService" protocol="rest" timeout="2000" connections="100" validation="true"/> <dubbo:service interface="cn.gov.zjport.dubborest.service.http.HttpDemoService" ref="httpDemoService" protocol="http" timeout="2000" connections="100" validation="true"/> </beans>
这个文件是在前面练习的dubbo rest服务基础上增加的,只要增加
<dubbo:service interface="cn.gov.zjport.dubborest.service.http.HttpDemoService" ref="httpDemoService" protocol="http" timeout="2000" connections="100" validation="true"/>即完成服务的发布。
注意:如果以下这一行
<dubbo:protocol name="rest" port="7056" contextpath="dubborest-webapp" server="servlet" extension="com.alibaba.dubbo.rpc.protocol.rest.support.LoggingFilter"/>如果将name改为http, 那么会提示nullpoint的错误,是配置文件中另外一个restDemoService采用rest方式调用的原因造成。
2.接口类
package cn.gov.zjport.dubborest.service.http; import cn.gov.zjport.dubborest.pojo.User; public interface HttpDemoService { public User execute(User user); }
3.实现类
package cn.gov.zjport.dubborest.service.http.impl; import org.springframework.stereotype.Service; import cn.gov.zjport.dubborest.pojo.User; import cn.gov.zjport.dubborest.service.http.HttpDemoService; @Service("httpDemoService") public class HttpDemoServiceImpl implements HttpDemoService{ public User execute(User user){ user.setName(user.getName()+",hello"); return user; } }
4.客户端dubbo配置
<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-2.5.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <dubbo:application name="dubborest-webapp" owner="zhenggm" organization="zjport"/> <dubbo:registry address="zookeeper://192.168.3.140:2181"/> <!--uncomment this if you want to test dubbo's monitor--> <!--<dubbo:monitor protocol="registry"/>--> <!-- here we demonstrate both annotation-based and xml-based configs --> <dubbo:annotation package="cn.gov.zjport.dubborest.service" /> <!-- use tomcat server --> <dubbo:protocol name="rest" port="7056" contextpath="dubborest-webapp" server="servlet" extension="com.alibaba.dubbo.rpc.protocol.rest.support.LoggingFilter"/> <dubbo:service interface="cn.gov.zjport.dubborest.service.rest.RestDemoService" ref="restDemoService" protocol="rest" timeout="2000" connections="100" validation="true"/> <dubbo:service interface="cn.gov.zjport.dubborest.service.http.HttpDemoService" ref="httpDemoService" protocol="http" timeout="2000" connections="100" validation="true"/> </beans>也是基于dubbo rest客户端配置修改的,增加了最后一行服务调用
5. 调用代码
System.out.println(httpDemoService.execute(user).getName());
6. 如果采用webservice协议暴露,只要将
<dubbo:service interface="cn.gov.zjport.dubborest.service.http.HttpDemoService" ref="httpDemoService" protocol="http" timeout="2000" connections="100" validation="true"/>中的protocol="http"改为protocol="webservice"即可,其他调用代码如http保持不变。
发表评论
文章已被作者锁定,不允许评论。
-
zookeeper docker 集群安装
2022-10-14 17:18 1331. 下载镜像 docker pull docker.io/z ... -
Kafka学习笔记【三】-JAVA调用示例
2018-05-29 08:35 5691. pom.xml <dependency> ... -
Kafka学习笔记【二】-安装
2018-05-24 08:20 354kafka的安装如下: 一、准备环境 1) 三台服务器 ... -
Kafka学习笔记【一】-原理
2018-05-18 09:23 249一、kafka的重要概念 1. kafka 分为 Produ ... -
rabbitMQ学习笔记【三】-haproxy部署 原创
2018-04-11 16:11 374一、下载 https://fossies.org/lin ... -
rabbitMQ学习笔记【二】-集群部署 原创
2018-04-03 19:40 397一、准备工作 三台机器hosts: 192.168.3 ... -
rabbitMQ学习笔记【一】-单机部署 原创
2018-03-19 16:04 405公司对外接入需要支持MQ,最终选定rabbitMQ.本文 ... -
HttpClient 学习笔记【原创】
2017-09-07 19:28 1871HttpClient 某些方法的作用梳理。本文的测试基于htt ... -
关于dubbo的思考【原创】
2016-09-21 08:23 1317最近在看dubbo的文档,有些内容结合自己的思考记录一下 1. ... -
dubbo rest 服务学习笔记(三)【原创】
2016-09-09 19:34 8743在配置过程中遇到两个 ... -
dubbo rest 服务学习笔记(二)【原创】
2016-09-09 19:21 1376采用dubbo客户端访问dubbo发布的rest服务,接上一篇 ... -
dubbo rest 服务学习笔记(一)【原创】
2016-09-09 19:07 6067dubbo是很好的服务治理工具,包含了注册,路由,监控 ... -
RocketMq数据处理
2016-06-27 08:58 609这篇讲实践中数据丢失、顺序幂等处理、性能压测,有时间再写 -
RocketMq学习笔记(2)【原创】
2016-06-27 08:55 1124前一篇文章http://zhenggm.i ... -
MS MQ 使用实践【原创】
2016-06-26 14:58 7661. 参照百度经验http://jingyan.baidu.c ... -
RocketMq学习笔记【原创】
2016-06-23 14:05 1577前段时间在实施分布式数据库的过程中,使用过rocketMQ, ... -
rest的调用 java 示例代码【原创】
2016-06-20 15:35 11171. 服务端示例代码(如何搭建rest服务,请看上一篇) ... -
jersey2 与 spring4 整合实践【原创】
2016-06-13 15:35 4970前几年用过jeysey,那都是1.x版本的,jersey2有很 ... -
java nio入门
2010-03-04 17:22 952首先了解下所谓的java nio是个什么东西! ... -
spring http invoker学习笔记
2010-01-04 16:58 3664概念 Spring HTTP invoker是spring框架 ...
相关推荐
本篇将详细讲解如何利用Dubbo结合Zookeeper来实现Web服务(webservice)。 首先,我们需要理解Dubbo的核心功能。Dubbo提供服务注册、服务发现、负载均衡、容错机制、调用链跟踪等特性,旨在提高微服务架构中的服务...
Dubbo之《尚硅谷》学习笔记
【Dubbo学习笔记】 Dubbo是一款高性能、轻量级的Java RPC框架,它旨在提供面向接口的远程方法调用、智能容错与负载均衡、服务自动注册与发现等核心功能,帮助开发者构建分布式服务架构。以下是对Dubbo基础知识、...
3. **自动发现**:Dubbo通过注册中心(如Zookeeper、Eureka等)实现服务提供者和消费者之间的动态服务发现,服务消费者无需硬编码服务提供者的地址,只需要知道服务接口,即可找到并调用服务。 【Dubbo能做什么】 ...
3. `dubbo-webservice-impl`:这里应该是服务的实现代码,实现了`dubbo-webservice`中定义的接口。服务提供者会加载这些实现,当服务被调用时,这些实现会被执行。 四、学习和实践 对于初学者来说,可以通过以下...
通过这些文档的学习,你将能够理解Dubbo如何实现服务间的透明调用,掌握如何利用Dubbo进行服务治理,以及如何根据项目需求进行服务拆分和框架扩展。同时,你也能够了解到在实际项目中如何优化网络通讯,提高系统的...
dubbo学习笔记.doc
- **协议(Protocol)**: 服务交互的通信协议,如Dubbo默认的dubbo协议,HTTP,REST等。 - **监控中心(Monitor)**: 统计服务的调用次数、调用时间、失败比例等,用于故障排查和性能优化。 2. **Zookeeper在...
通过深入学习和实践Dubbo源码,开发者不仅可以更好地理解Dubbo的工作原理,还能在实际项目中灵活运用,解决各种复杂的分布式服务问题。Dubbo的源码阅读也是一个不断提升自身技术深度的过程,有助于成长为更优秀的...
"dubbo-api服务"就是这样的一个组件,它是基于阿里巴巴开源的Dubbo框架构建的服务器端接口服务。Dubbo是一个高性能、轻量级的Java远程服务调用框架,它使得服务提供者和服务消费者之间能够高效地进行通信。 首先,...
【Dubbo阅读笔记】 在深入理解Dubbo框架的过程中,我们首先需要了解其核心概念和服务模型。Dubbo是一款高性能、轻量级的Java RPC框架,它致力于简化分布式服务开发,为服务提供者(Provider)和服务消费者...
`Dubbo` 是一款高性能、轻量级的Java服务框架,而`Zookeeper` 则是Apache的一个分布式协调服务,常用于服务治理、配置管理等领域。本项目结合两者,实现了一个针对`Dubbo`服务提供者(`Provider`)下线的监控系统,并...
在IT行业中,Dubbo是一个广泛使用的高性能Java RPC框架,它使得服务间的调用变得简单而高效。本主题聚焦于“dubbo本地测试服务”,旨在帮助开发者在本地环境中进行服务提供者连接、数据发送测试以及接口调试,从而...
Dubbo分布式服务架构,对于研究大型Web服务器的并发技术的同学们有帮助。
总结来说,这个基于dubbo和zookeeper的demo提供了一个实际操作的服务发布与订阅场景,对于学习和理解微服务架构中的服务治理有极大的帮助。通过下载、运行和分析这个项目,开发者可以深入理解dubbo和zookeeper在实际...
dubbo注册中心服务ip和实际服务提供者ip不一致问题 网上收集的资料
《Dubbo分布式服务框架开发者学习文档》是一份深入解析Dubbo技术体系的重要资料,它涵盖了Dubbo的核心功能和实现机制,对于理解并掌握这个流行的Java分布式服务框架具有极高的价值。Dubbo,作为阿里巴巴开源的一款高...
【Dubbo介绍与搭建学习】 Dubbo是一款由阿里巴巴开源的高性能、轻量级的Java服务治理框架,它致力于提供一种简单、高效的服务发现、服务调用、服务治理以及监控的能力,帮助开发者构建分布式系统。Dubbo的核心功能...
此文档是从学习 dubbo 源码过程中的笔记中整理出来的,由于时间及能力 原因,理解有误之处还请谅解,希望对大家学习使用 dubbo 有所帮助。 dubbo 是阿里基于开源思想 java 实现的服务治理中间件, 目前除了阿里之 外...