- 浏览: 212542 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
hus20120405:
很不错,我运行起来了
log4jdbc日志框架介绍 -
Roshomon:
牛叉 找了很多解决方案 你的OK了
plsql ora-12154 TNS 无法处理服务名 -
ackley:
赞!谢谢!
Cannot access NLS data files or invalid ...
概念
Spring HTTP invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用(意味着可以通过防火墙),并使用java的序列化机制在网络间传递对象。
效率
远程调用效率: rmi>spring http invoker>webservice
优点
1.spring http invoker 采用java的序列化机制,并采用类似rmi的方式调用,既能够使用http协议轻松穿过防火墙,又能够保证高效的远程调用。
2.轻量级的远程调用模型,对于采用spring的项目可以无缝嵌入,侵入性小。
3.非常简单,容易上手。
例子
服务端
1.web.xml
2. spring配置文件
其中userInfoService为项目原有的service
3. 增加一个service-servlet.xml,放在web-inf目录下
至此服务端发布完毕。
客户端
1. spring配置文件
2. 调用代码
与非远程调用代码一摸一样。
单元测试
如果客户端只是想做个单元测试,要集成spring就比较重,可以采用以下代码测试服务接口:
Spring HTTP invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用(意味着可以通过防火墙),并使用java的序列化机制在网络间传递对象。
效率
远程调用效率: rmi>spring http invoker>webservice
优点
1.spring http invoker 采用java的序列化机制,并采用类似rmi的方式调用,既能够使用http协议轻松穿过防火墙,又能够保证高效的远程调用。
2.轻量级的远程调用模型,对于采用spring的项目可以无缝嵌入,侵入性小。
3.非常简单,容易上手。
例子
服务端
1.web.xml
<servlet> <servlet-name>service</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>service</servlet-name> <url-pattern>/httpservice/*</url-pattern> </servlet-mapping>
2. spring配置文件
<beans> <bean id="userInfoServiceProxy" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter"> <property name="service" ref="userInfoService"/> <property name="serviceInterface" value="cn.gov.zjport.skeleton.sso.UserInfoService"/> </bean> </beans>
其中userInfoService为项目原有的service
3. 增加一个service-servlet.xml,放在web-inf目录下
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/userInfoService">userInfoServiceProxy</prop> </props> </property> </bean> </beans>
至此服务端发布完毕。
客户端
1. spring配置文件
<bean id="userInfoService" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean"> <property name="serviceUrl" value="http://<server>:<port>/<domain>/httpservice/userInfoService"/> <property name="serviceInterface" value="cn.gov.zjport.skeleton.sso.UserInfoService"/> <property name="httpInvokerRequestExecutor"> <ref bean="httpInvokerRequestExecutor" /> </property> </bean> <bean id="httpInvokerRequestExecutor" class="org.springframework.remoting.httpinvoker.CommonsHttpInvokerRequestExecutor"> <property name="httpClient"> <bean class="org.apache.commons.httpclient.HttpClient"> <property name="connectionTimeout" value="3000" /> <property name="timeout" value="5000" /> </bean> </property> </bean>
2. 调用代码
String xml=userInfoService.getUserInfo("simpleadmin", true);
与非远程调用代码一摸一样。
单元测试
如果客户端只是想做个单元测试,要集成spring就比较重,可以采用以下代码测试服务接口:
HttpInvokerProxyFactoryBean bean = new HttpInvokerProxyFactoryBean(); bean.setServiceInterface(UserInfoService.class); bean.setServiceUrl("http://<server>:<port>/<domain>/httpservice/userInfoService"); bean.afterPropertiesSet(); UserInfoService userInfoService= (UserInfoService) bean.getObject(); String xml=userInfoService.getUserInfo("simpleadmin", true);
发表评论
文章已被作者锁定,不允许评论。
-
zookeeper docker 集群安装
2022-10-14 17:18 1371. 下载镜像 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 1876HttpClient 某些方法的作用梳理。本文的测试基于htt ... -
关于dubbo的思考【原创】
2016-09-21 08:23 1319最近在看dubbo的文档,有些内容结合自己的思考记录一下 1. ... -
dubbo http webservice 服务学习笔记【原创】
2016-09-11 19:12 6475学习了 dubbo rest服务之后,再使用dubbo htt ... -
dubbo rest 服务学习笔记(三)【原创】
2016-09-09 19:34 8749在配置过程中遇到两个 ... -
dubbo rest 服务学习笔记(二)【原创】
2016-09-09 19:21 1381采用dubbo客户端访问dubbo发布的rest服务,接上一篇 ... -
dubbo rest 服务学习笔记(一)【原创】
2016-09-09 19:07 6093dubbo是很好的服务治理工具,包含了注册,路由,监控 ... -
RocketMq数据处理
2016-06-27 08:58 611这篇讲实践中数据丢失、顺序幂等处理、性能压测,有时间再写 -
RocketMq学习笔记(2)【原创】
2016-06-27 08:55 1128前一篇文章http://zhenggm.i ... -
MS MQ 使用实践【原创】
2016-06-26 14:58 7721. 参照百度经验http://jingyan.baidu.c ... -
RocketMq学习笔记【原创】
2016-06-23 14:05 1581前段时间在实施分布式数据库的过程中,使用过rocketMQ, ... -
rest的调用 java 示例代码【原创】
2016-06-20 15:35 11401. 服务端示例代码(如何搭建rest服务,请看上一篇) ... -
jersey2 与 spring4 整合实践【原创】
2016-06-13 15:35 4975前几年用过jeysey,那都是1.x版本的,jersey2有很 ... -
java nio入门
2010-03-04 17:22 952首先了解下所谓的java nio是个什么东西! ...
相关推荐
公司内部讲义,比较了SOA,RMI和Spring HttpInvoker。并介绍了Spring HttpInvoker的基本使用方法。
**Spring HttpInvoker的封装** 在Java企业级应用开发中,Spring框架因其强大的功能和灵活性而被广泛应用。HttpInvoker是Spring框架的一部分,它提供了一种基于HTTP协议的远程调用机制,使得不同网络环境中的Java...
Spring HttpInvoker,是一套基于Maven+Spring+SpringMVC+MyBatis框架,还包含了Invoker的客户端及服务器端的demo实例
HttpInvoker是Spring框架的一部分,它允许开发者使用HTTP协议进行远程方法调用,而不需要额外的类库。与Hessian等轻量级通信协议不同,HttpInvoker依赖于Java的序列化机制来处理方法的参数和返回值。 **14.7.1 输出...
org.springframework.remoting.httpinvoker最基本的实现例子,这是3个eclipse的JavaEE工程,全部导入即可,能运行。 初学可以轻松了解Spring HttpInvoker 的结构和使用。
在本文中,我们将深入探讨如何使用Spring框架中的HTTP Invoker组件进行远程方法调用(RMI)的实例。HTTP Invoker是Spring框架提供的一种轻量级远程调用解决方案,它利用HTTP协议在客户端和服务端之间传输Java对象。...
而在微服务架构中,服务间通信是必不可少的一部分,HTTP Invoker作为Spring框架的一个组件,为Spring Boot应用提供了一种轻量级的远程方法调用(RMI)方案。本篇将深入探讨SpringBoot HTTP Invoker的原理、配置以及...
Spring HTTP Invoker是spring框架中的一个远程调用模型,执行基于HTTP的远程调用,也就是说,可以通过防火墙,并使用java的序列化机制在网络间传递对象。客户端可以很轻松的像调用本地对象一样调用远程服务器上的...
Spring httpInvoker使用标准java序列化机制,通过Http暴露业务服务。如果你的参数和返回值是比较复杂的,通过httpInvoker有巨大的优势。 1. 远程访问流程 1) 服务端定义服务接口 2) 服务端实现服务接口 3) 暴露服务...
NULL 博文链接:https://lggege.iteye.com/blog/369151
3. **配置HTTP Invoker**:在服务端配置Spring,启用HTTP Invoker的支持,将接口绑定到特定的URL路径上,以便客户端可以访问。 4. **客户端构建请求**:在客户端,我们需要创建一个HTTP Invoker的代理对象,该对象...
Java Spring 2.5 Remote Invoke HTTP Invoker 是一个基于HTTP协议的远程调用框架,它允许Spring应用通过HTTP协议来调用远程服务。这个技术在分布式系统中非常有用,因为它可以轻松地跨越网络边界,实现服务间的通信...
**Http Invoker:接口测试工具详解** Http Invoker是一款用于接口测试的工具,它允许开发者对Web服务进行调用和测试,验证API的功能和性能。虽然在某些用户看来,Http Invoker可能并不是最易用或者功能最全面的工具...
《HttpInvoker:深入理解HTTP调试工具的奥秘》 在Web开发中,HTTP协议作为互联网应用的基础,扮演着至关重要的角色。为了确保我们的应用程序能够正确地与服务器进行通信,理解和调试HTTP请求至关重要。HttpInvoker...
Hessian和Burlap都是基于HTTP的,他们... Spring开发团队意识到RMI服务和基于HTTP的服务之前的空白,Spring的HttpInvoker应运而生。 Spring的HttpInvoker,它基于HTTP之上提供RPC,同时又使用了Java的对象序列化机
Java Spring 1.2 远程调用HTTP Invoker是一个基于HTTP协议的远程服务调用框架,它是Spring框架的一部分,允许应用通过HTTP协议进行服务间的通信。这种通信方式相对于RMI(Remote Method Invocation)等其他远程调用...
基于Spring的HttpInvoker实现改写服务器端调用: HttpInvoker.invoker 方法,设置InvokerProcess处理客户端调用: ProxyFactory.proxy 方法,生成接口的代理对象,直接调用方法客户端和服务器端的接口和实体类要...
`Http Invoker`是Spring框架提供的一种基于HTTP协议的RPC实现,主要用于Java应用程序之间进行服务调用。本文将深入探讨如何使用Http Invoker实现RCP客户端与后台的交互,以及相关知识点。 1. **Http Invoker的基本...
HttpInvoker主要面向Spring应用程序,易于集成,但相比Hessian,其数据传输效率较低,因为HTTP协议本身较重,且Java序列化也相对消耗资源。 XFire(后来被Apache CXF吸收)是一款基于XML的Web服务框架,它支持多种...
NULL 博文链接:https://lggege.iteye.com/blog/404124