Hessian使用流程及配置

合集下载

hessian接口使用总结

hessian接口使用总结

Hessian接口使用示例总结一、使用hessian接口准备首先,hessian接口的使用,必须要准备hessian接口的jar包,本文使用的jar包如下:hessian-4.0.7.jarHessian接口的使用是在两个工程之间,工程A作为服务方,B作为使用方(客户端)c二、服务方的配置和服务类的编写A作为服务方,首先向A中导入hessian的jar包,若是maven工程,则直接添加hessian的依赖jar则可,否则直接将jar导入工程lib下面。

依赖添加如下:在A的pom.xml中添加<dependency><groupTd>com.caucho</groupld> <artifa匚tId >hessian actld> </dependency>添加完依赖之后,实现hessian的服务配置实现。

配置hessian的servlet,便于服务方可以解析hessian的服务请求。

在A中web.xml配置hessian的servlet如下:配置完servlet之后,客户端的.hs的方式请求,都会按照servlet的配置,会到hessian-servlet.xml文件中读取配置,找到对应的服务的类方法。

下面配置hessian-servlet.xml 文件。

本文件为spring的配置文件,主要存放hessian的服务方的配置多个hessian接口的配置均可以放到本文件中统一管理。

下面以/hessia nTestService.hs为例解释:配置如下<bean n class= ■匸网川曲宣昭・test ・片它百£存占刃7倉5亡4厂1/1巴兰''>町/12皂£1[17匕杠-』 n am &= *7側趕舊 sJ^rt F M r5ern/ire . h£ J |class = ^org. springfraf^^forkr renting. W?s5J ^nSjer^i cFfir/wr^r ,-><prop&rty name= ir s&rvic^ " ref= i " /><:property nam 轻二 n ^^rvl^inr^rf3c^tr mlu0= Vtw.占呦官.r^jr. I/^saw rfisrs^r^i " /><7bean>Bean name= “hessianTestService 此为"hessian 接口的服务类的 bean 配置,这个大家都懂的, Bean name = /hessianTestService.hs "服务名,以.hs 结尾,同时对应 hessian 的 servlet 的分发 配置 url mapping 女口上面的 servlert 的配置。

赫斯曼hipering产品配置

赫斯曼hipering产品配置
HIPER-Ring配置 配置
• • • • • • • • • !冗余线路连接前,需确认冗余配置已经完成 冗余线路连接前, 除了可以使用软件功能进行环网配置, 开关也能完成RM功能开启,和 功能开启, !除了可以使用软件功能进行环网配置,DIP开关也能完成 开关也能完成 功能开启 环网端口一定范围内的调整。 环网端口一定范围内的调整。 登陆交换机Web页面 登陆交换机 页面 配置环网前应关闭环网交换机的RSTP协议 !配置环网前应关闭环网交换机的 协议 选择Redundancy:HIPER-Ring选项卡 选择 选项卡 在RingPort中填写环网端口编号 中填写环网端口编号 !环网端口功能应确认为非自适应全双工 !环网连接线应为交叉线 点击Set写入 点击 写入
Coupling配置 配置
• 共计三种Coupling连接方式 连接方式 共计三种 – 1 单机 单机Coupling – 2 双机 双机Coupling – 3 含控制线双击 含控制线双击Coupling 根据DIP开关状态不同,可以选 开关状态不同, 根据 开关状态不同 择的配置类型不同 – Standby DIP 为on时可选 时可选 A/C/E – Standby DIP为off时可选 为 时可选 B/D
HIPER-Ring配置 配置
• Redundancy Manager Status – Active:环网有断点,RM功能启动,冗余连接生效 功能启动, :环网有断点, 功能启动 – Inactive:环网闭合 : Information – Redundancy guaranteed:环网有断点,冗余连接生效 环网有断点, 环网有断点 – Configuration failure:配置不完全或促在错误 :

A

Hessian协议解析

Hessian协议解析

Hessian协议解析协议名称:Hessian协议解析一、背景介绍Hessian协议是一种基于二进制的轻量级远程调用协议,用于在分布式系统中进行跨语言的通信。

它使用简单的二进制格式来序列化和反序列化数据,并支持多种编程语言,如Java、C#、Python等。

本协议旨在详细解析Hessian协议的结构、数据类型和通信流程,以便更好地理解和使用该协议。

二、协议结构Hessian协议采用二进制格式进行数据传输,其结构可以分为请求部分和响应部分。

1. 请求部分请求部分由请求头和请求体组成。

1.1 请求头请求头包含以下字段:- 协议版本:指示所使用的Hessian协议的版本号。

- 请求类型:指示请求的类型,如调用远程方法、获取远程对象等。

- 请求方法:指示具体的远程方法名或对象名。

- 请求ID:用于标识请求的唯一ID,用于匹配请求和响应。

1.2 请求体请求体是实际的数据载荷,可以是方法参数、对象序列化数据等。

2. 响应部分响应部分由响应头和响应体组成。

2.1 响应头响应头包含以下字段:- 协议版本:指示所使用的Hessian协议的版本号。

- 响应类型:指示响应的类型,如成功、失败等。

- 请求ID:与请求部分的请求ID对应,用于匹配请求和响应。

2.2 响应体响应体是实际的数据载荷,可以是方法返回值、对象反序列化数据等。

三、数据类型Hessian协议支持多种数据类型的序列化和反序列化,包括基本数据类型、数组、字符串、日期、集合等。

1. 基本数据类型Hessian协议支持的基本数据类型包括整型、浮点型、布尔型、字符型等。

2. 数组Hessian协议支持一维和多维数组的序列化和反序列化,可以是基本数据类型的数组或对象数组。

3. 字符串Hessian协议支持字符串的序列化和反序列化,使用UTF-8编码。

4. 日期Hessian协议支持日期类型的序列化和反序列化,使用标准的ISO 8601日期格式。

5. 集合Hessian协议支持集合类型的序列化和反序列化,包括列表、集合、映射等。

hessian用法 -回复

hessian用法 -回复

hessian用法-回复什么是Hessian?Hessian是一种轻量级的二进制协议,用于在Java应用程序之间进行远程通信。

它以中间格式的形式来传输数据,因此可以在不同的平台上进行交互。

Hessian提供了一种简单直观的方式,用于将对象序列化为二进制格式并进行跨网络传输。

它使用了基于HTTP的协议,并支持多种数据类型,包括基本数据类型、集合、自定义对象等。

为什么需要Hessian?远程调用是构建分布式应用程序的重要组成部分。

在分布式环境中,不同的应用程序可能运行在不同的机器上,需要通过网络进行通信。

Hessian 提供了一种简化远程调用的方式,使得开发人员可以更方便地在不同的应用程序之间进行数据传输和方法调用。

Hessian的使用步骤:步骤1:引入依赖要使用Hessian,首先需要在项目中引入相应的依赖。

可以通过Maven 或手动下载jar包的方式引入。

常用的依赖包括"hessian"和"servlet-api"。

步骤2:定义接口在接口中定义需要远程调用的方法。

这些方法的参数和返回值需要是可序列化的数据类型,例如基本数据类型、集合、自定义对象等。

接口的定义应与服务端进行共享,因此可以将接口定义放在一个独立的模块中,并在客户端和服务端分别引入。

步骤3:实现服务在服务端,需要实现定义的接口,并提供相应的业务逻辑。

实现类需要实现接口中的方法,并将其标记为远程服务。

这可以通过在实现类上添加相关的注解或配置来实现。

步骤4:配置服务端在服务端,需要配置相应的Servlet以对外提供Hessian服务。

可以使用Spring等框架来简化配置的过程。

需要指定接口和相应的实现类,以便在调用时能够正确地映射到具体的实现。

步骤5:配置客户端在客户端,需要配置相应的HessianProxyFactory,用于创建远程服务的代理对象。

需要指定服务端的URL以及需要调用的接口。

可以使用该代理对象来进行方法调用和数据传输。

Hessian帮助文档

Hessian帮助文档

Hessian帮助文档一、portal端需要配置的东西a)new-api-wapper.propertiesDISPATCHER_URL=http://192.168.14.240:8080/?remotepath=http://192.168.14.212:8080/hessian_demo_ser v/这个URL表示,访问192.168.14.240这一台调度服务,通过调度服务访问192.168.14.212这一台service 服务器。

如果只配置到DISPATCHER_URL=http://192.168.14.240:8080/,那么调度程序将会进行负载均衡,会去调度比较空闲的或者效率比较高的service服务器。

Service服务器的ip地址配置在数据库的server_info这张表,调度服务回去这张表找配置的ip地址,把请求转发过去。

b)remoting-beans.xml<bean id="helloWorldService"parent="abstractServiceProxyFactory"><property name="serviceInterface"><value>cn.ffcs.cms.demo.api.HelloWorldService</value></property></bean>id与service对应,例如:@Autowiredprivate HelloWorldService helloWorldService;这里的helloWorldService就会对应到这个id,value就是该service的包地址。

这样子调度服务就会把cn.ffcs.cms.demo.api.HelloWorldService、与interfaces这张表的it_class进行匹配,查询出it_url,也就是远程服务接口。

hessian介绍

hessian介绍

Hessian概述Hessian是一个轻量级的remotingonhttp工具,使用简单的方法提供了RMI的功能。

相比WebService,Hessian更简单、快捷。

采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

Hessian执行流程Hessian一次完整调用Hessian客户端时序HessianProxy是hessian client处理客户端请求的核心类,它采用proxy的设计模式,代理客户端对远程接口的调用,hessian client的主流程的时序图如下所示:Hessian服务器端时序HessianSkeleton是hessian server端的核心类,从输入流中返序列化出客户端调用的方法和参数,对服务端服务进行调用,然后把处理结果返回给客户端,主要流程时序图如下所示:Hessian序列化和反序列化结构类图1.Serializer 序列化的接口2.Deserializer反序列化的接口3.AbstractHessianInput hessian自定义的输入流,提供对应的read各种类型的方法4.AbstractHessianOutput hessian自定义的输出流,提供对应的write各种类型的方法AbstractSerializerFactory介绍serializerFactory从字面意思上也看的出来,是管理和维护对应序列化/反序列化机制的工厂。

默认的几种实现∙SerializerFactory标准的实现∙ExtSerializerFactory我们可以设置自定义的序列化机制,通过该Factory可以进行扩展。

∙BeanSerializerFactory对SerializerFactory的默认object的序列化机制进行强制指定,指定为BeanSerializer。

先看一下hesian提供的Serializer/Derializer几种默认实现实际运行当中使用的UnsafeSerializer和UnsafeDeserializer作为默认实现,在其中会有内部类FieldDeserializer和FieldSerializer来对应的处理对象内部的字段,如果出现Unsafe内部支持的FieldDeserializer实现则会递归的进行对象序列化和反序列化处理。

赫思曼交换机环网配置基本操作

赫思曼交换机环网配置基本操作

赫思曼交换机环网配置基本操作一、安装软件将随交换机附赠的光盘插入PC机或笔记本电脑的光驱中,右击“打开”。

1.在文件夹HiDiscovery中,选择HiDiscovery0227_windows_x86.exe(版本可能略有不同)进行HiDiscovery安装。

2.在文件夹Java中,选择 jre‐1_5_0_13‐windows‐i586‐p.exe双击进行安装。

上述步骤完成后,桌面将会出现如下图标:二、对交换机设置或更改网管IP1.配置交换机IP地址1)双击打开HiDiscovery。

上述两图中的数字为中英文版软件的对照选项2)选中欲配置的交换机(如果是单机配置将只有一个条目),如果交换机已经相互连接则无法辨识交换机,可选中交换机后点击“Signal(信号)”按钮观察交换机指示灯的闪烁或通过MAC地址识别交换机。

3)双击欲配置交换机,弹出对话框,按照网络规划输入交换机名称、IP地址和子网掩码,点击OK。

如下图所示:三、环网配置注意!在配置环网时一定不要将冗余的连接线接到交换机上。

对环网来说拓扑上应该成环的,一定不要成环。

在冗余配置配置好以后再恢复冗余的连线。

1.将PC或笔记本电脑在网络属性中配置与交换机相同网段的IP。

2.可在浏览器中输入交换机IP进行访问,或通过HIDiscovery扫标出交换机列表,选中后点“WWW”按钮。

3.登陆交换机网管登陆界面(交换机型号不同,画面略有差异),Login中填写“admin”,Password中填写“private”。

4.完成登陆后进入交换机网管页面。

首先关闭RSTP功能。

1)在左侧导航栏中定位到“Redundancy →Spanning Tree → Global”2)在Operation中选中On3)点击下方的Set按钮4)在左侧导航栏中定位到“Redundancy →Spanning Tree → Port”5)在对应的环网端口和耦合端口的“stp active”功能取消(去掉“√”即可)5.配置环网配置环网时要注意。

Hessian 简单使用方法

Hessian 简单使用方法

Hessian 简单使用方法
本来想琢磨一下werService来的,突然想起来了hessian,它号称是轻量级的webService ,在本地写了个小例子,供自己备忘。

本例子主要分为三个部分
一.创建使用到的jar文件
二.创建一个web工程。

三.创建一个java工程,本地运行调用服务器端方法。

具体如下
一.
创建java工程,编写服务中使用到的java文件。

ITalk接口和其实现类TalkImpl如下
ITalk:
TalkImpl:
然后将此工程打成jar包
二.创建web工程(我用的是tomcat)
这里我们需要导入两个jar包,一个是hessian.jar, 一个是我们在上一步骤当中导出的我们自己的服务jar包。

接下来就是来配置web工程的web.xml文件,添加servlet
由于我们对外提供URL就应该是
http://localhost:8080/HessianServer/hessianService
HessianServer:为我们的web工程名称。

hessianService:为web.xml中的servlet-name。

三.创建hessian客户端
这里我们仍然需要导入hessian.jar和我们自己的myHessian.jar 下面编写客户端调用方法
启动服务器,运行客户端结果:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hessian
一:Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。

相比WebService,Hessian更简单、快捷。

采用的是二进制RPC(remote procedure call protocol:远程过程调用协议)协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

二:在进行基于Hessian的项目开发时,应当注意以下几点:
1. ▲JAVA服务器端必须具备以下几点:
2. ·包含Hessian的jar包
3. ·设计一个接口,用来给客户端调用
4. ·实现该接口的功能
5. ·配置web.xml,配好相应的servlet
6. ·由于使用二进制RPC协议传输数据,对象必须进行序列化,实现Serializable 接

7. ·对于复杂对象可以使用Map的方法传递
8. ▲客户端必须具备以下几点:
9. ·java客户端包含Hessian.jar的包。

C#中引用hessianCSharp.dll
10. ·具有和服务器端结构一样的接口。

包括命名空间都最好一样
11. ·利用HessianProxyFactory调用远程接口.
3.客户端和服务器端配置:
客户端Remote-xxx-client.xml文件配置:
<bean id="action里声明hession对象的名称
"class="org.springframework.remoting.caucho.HessianProxyFactoryBean"> <property name="serviceUrl">
<value>http://127.0.0.1:8090/SENATOR-ORG-SERVER/remote/ISpecialtyHessian(即:部署在服务器端的后台访问地址/项目/后台配置文件第二个bean的name)</value>
</property>
<property name="serviceInterface">
<value>.ISpecialtyHessian(前台
hessian接口完全限定名)</value>
</property>
<property name="overloadEnabled"value="true"/>
</bean>
服务器端remote-xxx-server.xml文件配置:
<bean id="xxxHessian(一般是对应beanHessian)"class="自己hessian实现类"> <property name="specialtyService"ref="hessian实现类里的service名称
"></property>
</bean>
<bean name="/ISpecialtyHessian(自定义名称)"
class="org.springframework.remoting.caucho.HessianServiceExporter">
<!-- 注入以上配置的bean的名称 -->
<property name="service"ref="specialtyHessian"/>
<!-- 此处的value对应后台hessian接口完全限定名 -->
<property name="serviceInterface"value=" .ISpecialtyHessian"/>
</bean>
备注:属性名称没做说明即是固定写法
4:后台之间资源相互调用:要调用那个后台,配置需要调用的hessian配置文件即可.。

相关文档
最新文档