一、RMI

RMI(Remote Method Invocation,远程方法调用)是Java在JDK1.2中实现的, Java RMI 支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。(即它能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法)

【优点】:
Java RMI具有Java的"Write Once,Run Anywhere"的优点,是分布式应用系统的百分之百纯Java解决方案。用Java RMI开发的应用系统可以部署在任何支持JRE(Java Run Environment Java,运行环境)的平台上。

【缺点】:
RMI对于用非Java语言开发的应用系统的支持不足。不能与用非Java语言书写的对象进行通信。

在大力鼓吹Web Service、SOA的时代,是不是每个应用都应该选用笨拙的Web Service组件来实现,通过对比测试后,RMI是最简单的,在一些小的应用中是最合适的。

1.1. Hessian是什么
官网介绍:(译文)
Hessian是一个由Caucho Technology开发的轻量级二进制RPC协议。和其他Web服务的实现框架不同的是,Hessian是一个使用二进制格式传输的Web服务协议的框架,相对传统soap web service,更轻量,更快速。它的好处在于免除了一大堆附加的API包,例如XML的处理之类的jar包,这也就是为什么说它是一个轻量级的Web服务实现框架的原因,这个原因还在于手机上的应用程序可以通过Hessian提供的API很方便的访问Hessian的Web服务。

目前已经支持N多语言(跨语言平台的特性):

1.2.Hessian的下载
官网: http://hessian.caucho.com/

1.3. Hessian的快速入门
1.3.1. 服务端的开发(Servlet方式)
1.创建Web工程,引入Hessian的Jar



2. 编写业务接口和实现类

3.配置web.xml

4.部署到tomcat,测试是否发布成功

(服务已经发布成功,但是提醒的意思是:Hessian的服务必须使用POST的请求方式)

1.3.2. 客户端的开发

1.创建Java工程,添加Hessian的jar

2.提示:接口名字、包名要和服务端的一致。

3.编写客户端测试代码

【优化扩展】
客户端的接口类的名字、包名也可以不和服务端的不一致,但需要在创建桩实例的时候指定接口的class,否则会抛出异常。
将接口代码更改后,

再运行测试

【亲测】RMI之Hassion相关推荐

  1. (亲测无坑)Centos7.x使用kubeadm安装K8s集群1.15.0版本

    基础环境配置 三台Centos7.x的服务器,主节点 cpu >=2,node节点>=1 注:(上述cpu为最低配置,否则集群安装部署会报错,无法启动,对其他硬件无硬性要求) 以下操作若无 ...

  2. 已解决org.springframework.beans.factory.UnsatisfiedDependencyException异常的正确解决方法,亲测有效!!!

    已解决org.springframework.beans.factory.UnsatisfiedDependencyException异常的正确解决方法,亲测有效!!! 文章目录 报错问题 解决方法 ...

  3. kubernetes-二进制安装,亲测无坑,在参考安装过程中如果有什么问题欢迎交流,超级详细的文档

    Kubernetes环境搭建(手动K8s集群安装配置.服务部署和管理使用详细步骤,入门K8s容器云平台架构) 前言 说明: 本博客是教大家如何手动搭建kubernetes集群(业内简称K8s),包括集 ...

  4. Windows下命令行及Java+Tesseract-OCR对图像进行(字母+数字+中文)识别,亲测可行

    Windows下Java+Tesseract-OCR对图像进行字符识别,亲测可行 1. 下载tesseract-ocr.中文语言包并安装 2. 命令行对图片进行识别及效果图 3. Java调用Tess ...

  5. Echarts读取本地json文件渲染轨迹,亲测ok

    Echarts读取本地json文件渲染轨迹,亲测ok 1. 报错及解决 2. 效果图 3. 源码lines-track.html如下 参考 1. 报错及解决 报错:由于浏览器的同源策略 已拦截跨源请求 ...

  6. Java调用python打包的程序.exe,包括获取exec()中打印的日志,亲测有效

    python写了一个方法,windows平台上怎么被Java服务调用呢? 最简单的办法,python利用pyinstaller打包成.exe程序,Java程序通过Process调用,想同时获取.exe ...

  7. centos7.4.3 部署python-pcl亲测可用(采坑记)

    最近工作里用到PCL库,处理点云数据.点云抽稀能极大的减少点云数据. 通过python-pcl调用C++的PCL库.windows下运行ok,linux下部署踩了很多坑,试了多种办法,包括源码安装,都 ...

  8. 每日起床前做这五个动作,可保障你终身不感冒——奥运福娃设计师韩美林老师亲测可用

    1.醒来后第一件事不是起身,先在床上躺着伸懒腰→四肢拉直了→让经脉拉直了(来回拉三四次) 2.然后做下图的姿势,侧卧→抱膝→弯曲→膝盖顶住胸部→吐气,把所有体内的浊气吐出 3.然后坐起来,双手在脸上的 ...

  9. [专业亲测]Ubuntu16.04安装Nvidia显卡驱动(cuda)--解决你的所有困惑【转】

    本文转载自: 因为要做毕设需要安装caffe2,配置cuda8.0,但是安装nvidia驱动真的是把我难倒了,看了很多篇博文都没有效果,现在我自己重新总结了下几种 安装方法(亲测有效),希望能帮到大家 ...

  10. iphone通讯录批量删除_iPhone通讯录删除了如何恢复?用对方法快速找回,亲测有效!_...

    2020年11月03日 16:50作者:黄页编辑:黄页 iPhone通讯录删除了如何恢复?很多时候我们都已经习惯了用微信去传递感情,去跟朋友或者是同事沟通,因为这样既方便又快捷,小编也是如此.但是很多 ...

最新文章

  1. 重上热搜!北师大教授:给非洲留学生1年10万奖学金真的不算多!
  2. CodeForces - 813C The Tag Game(拉格朗日乘数法,限制条件求最值)
  3. 在 Linux 下忘记 mysql root 密码的解决方法
  4. 服务器与本地时间的倒计时
  5. 邪恶的Java帝国是怎么欺负小函数的?
  6. 玩玩自动化测试之selenium篇
  7. spark.mllib:NaiveBayes
  8. 算法设计与分析——分支限界法——n皇后问题
  9. 【PHP学习】—get请求传递参数(五)
  10. 在地图上点击一下,在图层上画一个点,并显示相关的信息
  11. 网络安全实战之靶场渗透技术
  12. 将war文件解压到指定目录
  13. kaggle竞赛——泰坦尼克号获救
  14. 利用PhotoShop批量压缩和转换图片格式
  15. svn的安装出现报错问题解决办法
  16. 【CQF Finance Class 4 金融衍生品】
  17. Android实现微信查看附近的人
  18. 电脑上编辑文件打字时页面乱跳解决方法
  19. 三次Bezier曲线/B样条曲线转换成隐函数方程的方法
  20. PhotoShop算法实现进阶-浮雕滤镜-灰度浮雕(三十一)

热门文章

  1. mysql lag over_数据库sql 使用 lag 和OVER 函数和 like 使用 小技巧
  2. win7做网站服务器数据库,win7做网站服务器
  3. HDU-OJ 杭电1495非常可乐
  4. 计算机专业给导师发个人简历,殷保群教授个人简历范文
  5. SpringBoot开发网页即时聊天室/IM通信/WebSocket/即时通讯
  6. uva 1471 Defense Lines (降低复杂度)
  7. 穷人靠学,富人靠抄!
  8. 网页抓取及信息提取(三)
  9. IO回忆录之怎样过目不忘(BIO/NIO/AIO/Netty)2017版
  10. 现在小屁孩黑客太牛B了