Java Spring RPC Hessian 学习笔记
2015-07-30 01:08
525 查看
参考的文章:
http://www.ibm.com/developerworks/cn/education/java/j-jaxrpc/j-jaxrpc.html
说明:从最底层开始讲起
SpringMVC 集成 Hessian
/article/1594776.html
PRC 应用的 Java 实现:
http://www.cnblogs.com/flyoung2008/archive/2011/11/12/2246282.html
吴迪和我一起找的一篇文章:
http://www.cnblogs.com/flyoung2008/archive/2011/11/12/2246282.html
深入浅出 rpc:
/article/1662091.html
昨天下午刚刚接触 RPC,趁着刚刚学习完的时候,赶紧做一下记录。学习和写了一天的代码,总结如下: RPC 通过发布服务的方式,让客户端可以像在本地调用方法调用远程的方法。只不过,要给客户端传递服务的接口。客户端调用接口,就相当于调用了实现类。
使用 Hessian 的时候,还须要有 SpringMVC 的支持,因为我原来是在 Jesey 的项目里面去集成 Hessian 的,怎么都实现不了。所以这里要引起注意。
这是 SpringMVC 的支持:
这是 Jersey 的支持:
服务端发布 RPC 的时候,要配置接口和实现类。
配置方式一:
配置方式二:
我们可以发现:这两种配置方式实现的效果是一致的,下面的方式没有配置 id,所以我们可以知道,上面的那种方式的方法名字可以任意选取。
客户端调用 RPC 的时候,要配置接口和调用的 URL。
还要注意的一点是:传输的类要实现序列化接口,否则会抛出 readObject: unexpected end of file 这个异常。
官方网站:
http://hessian.caucho.com/#Java
学习 RPC 的感受:人的本事不是与生俱来的,不是你掌握得多少,而是当你面对一个未知问题的时候,你能用多少时间来掌握。
参考资料:
下面的这个来自 github 上的项目示例了如何在 springboot 项目中使用 hessian
https://github.com/mariuszs/hessian-boot-example
在测试这个项目的时候,如果发现包名不一致,上网找了一下,原因如下:
引用
java.lang.ClassNotFoundException: com.a.e.User
测试的时候 两个项目与hessian相关的类,包位置保持一致就OK~
hessian学习 - 菩提树下的杨过 - 博客园
http://www.cnblogs.com/yjmyzz/p/hessian-helloworld.html
说明:我主要参考了这篇文章。
《Spring技术内幕》学习笔记18——Spring使用Hessian实现远程调用 - momomoge的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/momomoge/article/details/7304569
今天开发过程中使用 IDE 遇到的问题解决:
The user operation is waiting for “Building workspace” to complete - 碧海蓝天 - 博客频道 - CSDN.NET
http://blog.csdn.net/yuzhongchun/article/details/8965308
一些相关技术:
Java - 千与的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/shirdrn/article/category/790111
《Spring技术内幕》学习笔记18——Spring使用Hessian实现远程调用 - momomoge的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/momomoge/article/details/7304569
http://blog.csdn.net/chjttony/article/details/5907772
http://www.ibm.com/developerworks/cn/education/java/j-jaxrpc/j-jaxrpc.html
说明:从最底层开始讲起
SpringMVC 集成 Hessian
/article/1594776.html
PRC 应用的 Java 实现:
http://www.cnblogs.com/flyoung2008/archive/2011/11/12/2246282.html
吴迪和我一起找的一篇文章:
http://www.cnblogs.com/flyoung2008/archive/2011/11/12/2246282.html
深入浅出 rpc:
/article/1662091.html
昨天下午刚刚接触 RPC,趁着刚刚学习完的时候,赶紧做一下记录。学习和写了一天的代码,总结如下: RPC 通过发布服务的方式,让客户端可以像在本地调用方法调用远程的方法。只不过,要给客户端传递服务的接口。客户端调用接口,就相当于调用了实现类。
使用 Hessian 的时候,还须要有 SpringMVC 的支持,因为我原来是在 Jesey 的项目里面去集成 Hessian 的,怎么都实现不了。所以这里要引起注意。
这是 SpringMVC 的支持:
[code]<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
这是 Jersey 的支持:
[code]<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jersey</artifactId> </dependency>
服务端发布 RPC 的时候,要配置接口和实现类。
配置方式一:
[code] @Bean(name="/abc") public HessianServiceExporter hessianServiceExporter() { HessianServiceExporter export = new HessianServiceExporter(); export.setService(datahouseService); export.setServiceInterface(DatahouseApi.class); return export; }
配置方式二:
[code]<bean name="/hessianService" class="org.springframework.remoting.caucho.HessianServiceExporter"> <property name="service" ref="helloService"></property> <!-- 配置接口的报名和接口名 --> <property name="serviceInterface" value="com.liwei.hessian.service.HelloWorld"></property> </bean>
我们可以发现:这两种配置方式实现的效果是一致的,下面的方式没有配置 id,所以我们可以知道,上面的那种方式的方法名字可以任意选取。
客户端调用 RPC 的时候,要配置接口和调用的 URL。
还要注意的一点是:传输的类要实现序列化接口,否则会抛出 readObject: unexpected end of file 这个异常。
官方网站:
http://hessian.caucho.com/#Java
学习 RPC 的感受:人的本事不是与生俱来的,不是你掌握得多少,而是当你面对一个未知问题的时候,你能用多少时间来掌握。
参考资料:
下面的这个来自 github 上的项目示例了如何在 springboot 项目中使用 hessian
https://github.com/mariuszs/hessian-boot-example
在测试这个项目的时候,如果发现包名不一致,上网找了一下,原因如下:
引用
java.lang.ClassNotFoundException: com.a.e.User
测试的时候 两个项目与hessian相关的类,包位置保持一致就OK~
hessian学习 - 菩提树下的杨过 - 博客园
http://www.cnblogs.com/yjmyzz/p/hessian-helloworld.html
说明:我主要参考了这篇文章。
《Spring技术内幕》学习笔记18——Spring使用Hessian实现远程调用 - momomoge的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/momomoge/article/details/7304569
今天开发过程中使用 IDE 遇到的问题解决:
The user operation is waiting for “Building workspace” to complete - 碧海蓝天 - 博客频道 - CSDN.NET
http://blog.csdn.net/yuzhongchun/article/details/8965308
一些相关技术:
Java - 千与的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/shirdrn/article/category/790111
《Spring技术内幕》学习笔记18——Spring使用Hessian实现远程调用 - momomoge的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/momomoge/article/details/7304569
http://blog.csdn.net/chjttony/article/details/5907772
相关文章推荐
- Java 学习笔记
- 跳台阶问题-java
- 10_Eclipse中演示Git冲突的解决
- 10_Eclipse中演示Git冲突的解决
- 基于配置的自定义的简单struts(了解struts原理)
- 您还有心跳吗?超时机制分析(java)
- java 基础语法自己总结
- eclipse安装Gradle
- Eclipse 版本说明
- Eclipse 增加打开文件路径功能
- spring入门
- java Enum
- spring-ioc
- java基础语法要点<二>(基于1.8)
- Java Technical Notes
- 学习 java netty (三) -- Channel
- Java注解
- java中的并发:同步
- 9个基于Java的搜索引擎框架
- java学习——处理json