hessian远程框架的使用简述
hessian是个简单好用的java远程调用框架,其不与spring结合使用,比结合spring使用更为简单,所以我一般直接采用不与spring整合配置的使用方式,当然,在具体的服务类里,还是会去调用spring容器的服务类来执行数据库访问。这样我觉得更方便。
下面,我就讲一下不整合spring的调用方式:
只要引入hessian的jar包便可,不需要依赖别的jar包,我用的hessian-4.0.7.jar;
hessian会自己序列化与反序列化参数,开发者无需关注这些。
1. 在web.xml中增加如下配置:
<servlet>
<servlet-name>remote</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>service-class</param-name>
<param-value>com.zlwh.member.remote.BulletinService</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>remote</servlet-name>
<url-pattern>/remote/*</url-pattern>
</servlet-mapping>
注意service-class参数配置替换成你自己的服务类便可以。
2. 服务类及接口:
public interface IBulletinService {
public String addBulletin(Bulletin entity);
public int getUserNoReadCount(Long userId)throws Exception;
}
实现类:
public class BulletinService implements IBulletinService{
@Override
public String addBulletin(Bulletin entity) {
String result="OK";
BulletinManager bulletinManager=ApplicationContextUtils.getBean("bulletinManager");
entity.setCreateTime(new Timestamp(System.currentTimeMillis()));
result=this.validateInfo(entity);
try{
bulletinManager.save(entity);
}catch(Exception e){
result="FAILED";
}
return result;
}
@Override
public int getUserNoReadCount(Long userId)throws Exception{
BulletinManager bulletinManager=ApplicationContextUtils.getBean("bulletinManager");
return bulletinManager.getUserNoReadCount(userId);
}
}
3.客户端调用:
客户端需要引入服务的接口类IBulletinService ,hessian的jar包,如果参数不是本地对象,需要引入参数对象。
public class TestRemote {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
String url = "http://127.0.0.1:8080/uc-backend/remote";
HessianProxyFactory factory = new HessianProxyFactory();
factory.setOverloadEnabled(true);
IBulletinService hessianServer =(IBulletinService)factory.create(IBulletinService.class, url);
Bulletin bulletin=new bulletin();
hessianServer.addBulletin(bulletin);
System.out.println("success!");
int num=hessianServer.getUserNoReadCount(1L);
System.out.println("没有阅读的数量:"+num);
}
}
分享到:
相关推荐
Hessian远程调用框架学习一,第一个JAVA使用hessian的入门demo,简单实用易理解
java项目中使用hessian框架实现远程调用,该资源内附hessian服务端,hessian客户端和使用说明文档,以供使用参考,轻松教会你hessian远程调用!
一个简单实用的hessian框架的应用实例,用于实现分布式开发远程调用!
给予spring的框架。 封装了xfire、rmi、hessian、httpinvoker 客户端可以统一调用,省略了远程调用的编码。 服务通过服务ID和服务接口来调用。
蛇形rpc 一个基于 Hessian 的 RPC 框架( ) “蛇”这个名字来自中国蛇的动物年(2013年)。 与hessian相比,snake-rpc有几个新特点: 能够序列化 InputStream/OutputStream; 无限的 InputStream/OutputStream 参数...
这意味着您只需要 qt 框架即可使用 hessian 的所有功能。 无需生成代码即可使用 qhessian。 C++ 实现的比较: 项目 代码生成 图书馆 是的 卷曲 不 SSLPP 切森 不 Qt 准备项目 使用命令获取 qhessian 存储库的...
RESTful架构: (1)每一个URI代表一种资源; (2)客户端和服务器之间,传递这种资源的某种表现层(Representation); ... Hessian: 是由caucho提供的一个基于...在java领域,webservice框架很多,axis,xfire,cxf
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、 Burlap、Hessian、SOAP、EJB和JMS 等,这些名词之间到底是些什么关系呢,它们...
远程(Remoting) Spring 提供了一致的使用方式,即使所采用的远程服务技术不尽相同,在 Spring 中运用它们的方式却是一致的。 RMI Hessian、 Burlap Http Invoker <br>邮件 对于邮件发送...
1. 什么是 rpc RPC 全称为 Remote Procedure Call,翻译过来为 “远程过程调用”。 目前,主流的平台中都支持各种远程调用技术,以满足...RPC 在使用形式上像调用本地函数(或方法)一样去调用远程的函数(或方法)。
Java中的RPC框架比较多,各有特色,广泛使用的有RMI、Hessian、Dubbo等。RPC还有一个特点就是能够跨语言,本资源只以JAVA语言里的RPC为例。其他的框架结构也类似,区别在于对象的序列化方法,传输对象的通讯协议,...
word源码java fleet-spring-boot ...远程调用框架 :Spring Boot Hessian 远程调用框架 :Spring Boot Forest Http 请求 :Spring Boot HTTP 访问控制 :Spring Boot GraphQL 构建 API :Spring Boot
Java中的RPC框架比较多,广泛使用的有RMI、Hessian、Dubbo等。 Dubbo官网地址:http://dubbo.apache.org Dubbo提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
微服务/集群(nignx) 支持REST风格远程调用(HTTP + JSON/XML):基于非常成熟的Spring Boot框架,在Spring Boot Spring Cloud中实现了REST风格(HTTP + JSON/XML)的远程调用,以显着简化企业内部的跨语言交互,同时...
Serializable 接口,使用 java 标准序列化机制,使用阻塞式短连接,传输数 据包大小混合,消费者和提供者个数差不多,可传文件,传输协议 TCP。 多个短连接,TCP 协议传输,同步传输,适用常规的远程服务调用和 ...
- Dubbo由阿里巴巴集团开发并开源,最早是作为阿里中间件团队内部的一个RPC框架使用。 - Dubbo的目标是提供一个高性能的分布式服务框架,使得应用程序可以通过远程调用快速、安全地通信,并提供完善的服务治理能力。...
hessdroid 是Resin 的Hessian二进制远程调用框架在Android上非官方移植版本。
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后...
6.3 使用Hessian和Burlap的远程调用 6.3.1 访问Hessian/Burlap服务 6.3.2 用Hessian或Burlap公开Bean的功能 6.4 使用HTTP invoker 6.4.1 通过HTTP访问服务 6.4.2 把Bean作为HTTP服务公开 ...
hessdroid 是 Resin 的 Hessian 二进制远程调用框架在 Android 上的移植版本。非官方。 示例代码: String webServiceUrl = "https://localhost/testAPI"; HessianProxyFactory proxyFactory = new ...