Spring HttpInvoker(二)

深入学习 Spring HttpInvoker 深入学习 Spring HttpInvoker 远程通信协议 RPC 远程过程调用,是一个计算机通信协议,允许一台计算机的程序,调用另一台计算机的子程序。如果涉及到的软件采用面向对象编程,亦可称为远程方法调用(如 Java RMI) RMI 一般指Java RMI (Java Remote Method Invocation) Java远程方法调用,只适用于Java程序之间的通... 阅读详情

一: 暴露服务(HttpRequestHandlerServlet 暴露服务)

package com.xx.service;

public interface ISayHelloService {

	/**
	 * @param name
	 * @return
	 */
	 String doSayHello(String name);
}
package com.xx.service.impl;

import com.xx.service.ISayHelloService;

public class DefaultSayHelloServiceImpl implements ISayHelloService {

	public String doSayHello(String name) {
		return "hello, " + name;
	}
}
web.xml
	<!-- ContextLoaderListener  -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/config/applicationContext-server.xml</param-value>
	</context-param>

	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>

	<!-- HttpRequestHandlerServlet -->
	<!-- servlet-name 必须和暴露的seviceProxy bean id相同    -->
	<servlet>
		<servlet-name>sayHelloServiceExporter</servlet-name>
		<servlet-class>org.springframework.web.context.support.HttpRequestHandlerServlet</servlet-class>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>sayHelloServiceExporter</servlet-name>
		<url-pattern>/sayHelloService.service</url-pattern>
	</servlet-mapping>
applicationContext-server.xml
	<bean id="defaultSayHelloService" class="com.xx.service.impl.DefaultSayHelloServiceImpl" />
	<!--  和web.xml servlet-name 一致 -->	
	<bean id="sayHelloServiceExporter" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter" >
		<property name="service" 			ref="defaultSayHelloService" />
		<property name="serviceInterface" 	value="com.xx.service.ISayHelloService" />
	</bean>
		

二:客户端

package com.xx.service;

public interface ISayHelloService {

	/**
	 * @param name
	 * @return
	 */
	 String doSayHello(String name);
}
applicationContext-client.xml
	<bean id="sayHelloService"  class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
		<property name="serviceUrl" 		value="http://localhost:8080/httpInvoker2/sayHelloService.service" />
		<property name="serviceInterface" 	value="com.xx.service.ISayHelloService"/>
	</bean>
public class ClientMain {
	
	public static void main(String[] args) {
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext-client.xml");
		ISayHelloService sayHelloService = applicationContext.getBean("sayHelloService", ISayHelloService.class);
		System.out.println(sayHelloService.doSayHello("王五"));
	}
}
使用 Ansys Q3D 进行电容提取 精确的电容提取在高速和 RF 设计中至关重要。在本博客中,我们演示了如何使用Ansys Q3D Extractor来计算电容值,从基本的平行板电容器开始,然后转到MEMS芯片的切口,以检查焊盘和RF线对整体电容的影响。在下面的比较中,我们使用 Q3D 从 MEMS 芯片切口中提取两种配置的电容矩阵:一种仅带有焊盘,另一种带有连接到 RF 线路的焊盘。这种比较表明,焊盘是总电容的主要贡献者,而 RF 线路则略有增加。按照上述工作流程,提取焊盘的电容,得到的电容矩阵如下所示。,选择一个已识别的网络,然后单击。 阅读详情

相关推荐

PS/2鼠标接口协议

一、PS/2鼠标接口        PS/2接口用于许多现代的鼠标和键盘,由IBM最初开发和使用。物理上的PS/2接口有两种类型的连接器:5脚的DIN和6脚的MINI-DIN。        二、鼠标的接口协议原理             PS/2鼠标接口采用一种双向同步串行协议。即每在时钟线上发一个脉冲,就在数据线上发送一位数据。但是在相互传输中 ,主机是拥有总线控制权的

Ant's home 1万+

从Altera/Xilinx转战安路PH1?手把手教你搞定BRAM/ERAM的Modelsim仿真与避坑

本文详细解析了从Altera/Xilinx转向安路PH1系列FPGA时,ERAM模块与BRAM的架构差异,并提供了完整的Modelsim仿真流程。通过实战案例,帮助工程师掌握PH1系列ERAM的配置、FIFO功能仿真及跨时钟域处理方案,提升FPGA开发效率。

weixin_33714884的博客 232

深信服PT1-AF实验考试

深信服PT1-AF实验考试实验练习可以去深信服的在线实验平台(链接如下):深信服在线实验平台 (sangfor.com.cn)实验考试其实就是把所有的每一部分实验综合了起来以下内容仅做参考,不确保一样。

m0_72019240的博客 7116

HttpInvoker远程调用实例

一、服务器端: 1、服务接口与实现类       Java代码 package org.eesite.bbs.remote;            public interface IRemoteService {          public String getString(String msg);      }             package org.eesite.b...

wsq198760的专栏 211

Hermes Agent vs OpenClaw:2026 年开源 AI Agent 框架深度对比

两款 2026 年最受关注的开源 AI Agent 框架,一个主打「自进化」,一个聚焦「网关路由」——它们究竟有何不同?本文将从架构原理、核心机制、使用方式到适用场景,为你全面拆解。无论你是 AI 研究者、开发者,还是想用 AI 提升工作效率的个人用户,这篇文章都将帮助你做出最适合的选择

程序猿_三产 3751

WRF替换静态地理数据中的土地利用数据(WRF替换下垫面数据)

   在进行自己的WRF项目模拟的时候,因为需要用中国土地利用数据替换WRF内嵌老旧的土地利用数据,故需要将土地利用进行替换。我使用的中国的土地利用数据是来自中国土地利用数据(1980-2015)。其中我以下载的lucc1980为例进行演示。 1、坐标转换    (1)下载的lucc1980数据如下图所示:    (2)在ArcMap中打开如下图所示: 打开属性表可以看到,lucc1980的坐标系为投影坐标系Krasovsky_1940_Albers,数据格式为GRID。这里需要将投影坐标系转换成地理坐

GIS 1万+

Spring HttpInvoke实现,以及效率提升! 博客分类: Spring

最近接手服务器总被人质疑效率问题,说到底是质疑Spring HttpInvoke的效率问题。好在经过同事们的努力,找到了问题的根源,最终解决了这个问题。 我也顺道整理一下Spring HttpInvoke——那曾经最为熟悉的东西。 Spring HttpInvoke,一种较为常用的、基于Spring架构的服务器之间的远程调用实现,可以说是轻量级的RMI。 最初,我们使用Spring H

juce的专栏 1143

达梦数据库JDBC连接池断开自动重连设置

一、场景 在网络状况不是非常良好,经常会出现暂时性的拥塞或者断开的情况,而且当我们重启数据库时也会发生类似的情况。所以需要配置中间件的连接池来实现连接测试以及自动重连,通过重新配置连接池,成功解决了这个问题。下面会给出一份数据源配置参数详单和一份推荐的数据源配置项。 二、连接池配置参数 1. initialSize:连接池启动时创建的初始化连接数量 2. maxActive:连接池中可同时连接的最大的连接数 3. maxIdle:连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负

lilv1989的博客 7235

相同应用在不同区域的实例跨区域调用

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

scholar_wu2011的博客 536

【华为OD技术面试真题 - 技术面】- 测试面试题(1)

专栏:华为OD面试真题精选 目录: 2024华为OD面试手撕代码真题目录以及八股文真题目录黑盒测试:白盒测试:基本功能验证:边界条件测试:空白输入测试:特殊字符和格式测试:响应时间测试:压力测试:针对在不同系统和设备上测试聊天窗口功能,以及网络正常的前置条件,我们可以增加以下测试用例:系统和设备:PC端测试:移动端测试:功能验证:前置条件:网络性能影响测试:Postman:SoapUI:JMeter:Rest-Assured:Tricentis Tosca:ReadyAPI:CI/CD工具集成:测试管理工

算法大师! 3690

视觉Transformer实战 | Transformer详解与实现

本文系统介绍了 Transformer 架构的核心原理与实现。相比传统 RNN 和 CNN,Transformer 凭借自注意力机制有效捕捉序列中的长距离依赖关系,支持并行训练,显著提升效率。其核心创新在于通过查询、键、值向量计算注意力权重,理解单词间的语义关联。架构包含编码器-解码器结构:编码器通过多头自注意力和前馈网络提取输入特征;解码器利用掩码自注意力和交叉注意力生成输出。本文使用 PyTorch 实现了缩放点积注意力、位置编码、层归一化等关键模块,并构建了完整的 Transformer 模型。

盼小辉丶的博客 4万+

spring-remoting中的httpInvoker实现并安全验证

1. 简单介绍httpInvoker的实现  2.

lsblsb的专栏 5377

汽车IVI中控开发入门及进阶(三十八):手机投屏HiCar开发

为了兼容这部分手机,车机端在向手机端发送USB控制命令字的同时,需要启动mDNS Server,广播车机端IP地址和HiCar SDK侦听的Server Socket端口(IP地址和端口在HiCar SDK初始化USB driver时,告知车机),在检测到手机断开USB连接时关闭mDNS Server。厂商在集成HiCar SDK开发HMI应用时,不可避免会使用到智能座舱的敏感权限,例如位置权限、摄像头权限、麦克风权限等,SDK初始化时,厂商HMI应用需要设置必要的车机参数供SDK使用。

码农17年的博客 1075

Spring HttpInvoker & EOFException

<br /> <br />配置完服务端Spring HttpInvoker后(Tomcat中),使用Web Browser访问资源地址收到如下错误:<br /> <br />  图1<br /> <br /> <br />图1中的java.io.EOFException是因为我是使用浏览器直接访问HttpInvokerServiceExporter,此时没有传递任何有意义的参数,但是HttpInvokerServer仍然已假设正确的方式读取。<br /> <br />分析图1中出现的异常情况后,接下来便配

fantasy10o10o的专栏 1996

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Spring httpinvoker入门教程

httpinvoker 参考:Spring 实现远程访问详解——httpinvoker Spring httpInvoker使用标准java序列化机制,通过Http暴露业务服务。如果你的参数和返回值是比较复杂的,通过httpInvoker有巨大的优势。 远程访问流程如下 1. 服务端定义服务接口 package com.lm.core.service; import java.util.List; import com.lm.core.entity.User; publi

小半的博客 1322

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Spring中HttpInvoker实例

 Spring版本2.5.6.SEC011.服务端:需要如下jar包:spring.jar spring-webmvc.jarIPersonService.javapublic interface IPersonService { public String queryPersonName();} PersonServiceImpl.javapublic cla

up2pu的专栏 2293

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

HttpInvoker运作原理

Spring源码解析系列均基于Spring Framework 4.2.7 把第三方系统的方法搬到本地HttpInvoker是常用的Java同构系统之间方法调用实现方案,是众多Spring项目中的一个子项目。顾名思义,它通过HTTP通信即可实现两个Java系统之间的远程方法调用,使得系统之间的通信如同调用本地方法一般。HttpInvoker和RMI同样使用JDK自带的序列化方式,但是HttpInvo

zstu_cc的专栏 1万+

Spring HttpInvoker

BTT中新加入了Java Connector技术,做了一下调查,发现Spring原来也有一样的技术,叫做Http Invoker,作为RMI的一种实现方法,最大的不同点是其使用的是http协议,底层实现应该差不多,主要使用Object Serializable、Proxy等技术。网上的文章说的比较清楚,具体的可以看下面这篇文章:http://blog.youkuaiyun.com/daryl715/a

Justin's Super Spirit 1813

使用spring的HttpInvoker实现远程服务

HttpInvoker集合了RMI、hessian、burlap的优点,在spring中他们的配置基本相同 服务端 maven依赖: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifact...

qq_38779912的博客 257

Spring远程服务----HttpInvoker实现远程调用

1.简介 Spring的之前两篇远程服务调用方式,RMI服务使用的是Java标准的对象私有序列化机制,但很难穿越防火墙,而Hessian和Burlap服务是基于HTTP的服务,所以不受防火墙限制,但采用了私有的对象序列化机制。那么有没有一种服务可以总和了 2.介绍 3.测试 4.参考文档 ...

梦悠哉的博客 1669

Spring源码分析总结——HttpInvoker

该文章基于《Spring源码深度解析》撰写,感谢郝佳老师的奉献 HttpInvoker 因为RMI使用标准的Java标准的对象私有化,很难穿越防火墙,但是Hessian/Burlap因为是基于HTTP的服务却能很好的穿越防火墙。 在这种情况下,Spring的HttpInvoker应运而生,基于HTTP的远程调用,并且使用Java序列化机制,现在给出小Demo: 首先其代码结构如下 ...

可爱滴老唐 305

java httpinvoker_Spring中HttpInvoker实例

Spring版本2.5.6.SEC011.服务端:需要如下jar包:spring.jar spring-webmvc.jarIPersonService.javapublic interface IPersonService {public String queryPersonName();}PersonServiceImpl.javapublic class PersonServiceImpl ...

weixin_42195978的博客 196

springboot集成httpinvoker的客户端

由于新项目采用了springboot,需要调用之前远程服务(之前项目用的spring的httpinvoker),现说明下在springboot下配置httpinvoker的客户端使用,其中会穿插基于spring3的httpinvoker的配置,以做对比,关于httpinvoker的服务端的配置后续再更新。

geanwan的博客 9025

Spring RMI,Hessian/Burlap,HttpInvoker的区别

Spring RMI,Hessian/Burlap,HttpInvoker的区别 1 Hessian/Burlap 方式 客户端通过Hessian/BurlapProxyFactoryBean生成的代理对象负责通过HTTP协议与远程服务通信。 在服务端,Hess...

chiqulao5770的博客 115
上一篇: Spring HttpInvoker(一)
下一篇: Spring 整合 CXF
胸口碎大石_
博客等级 码龄17年 1154粉丝 82原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值