参考的文章:
http://www.ibm.com/developerworks/cn/education/java/j-jaxrpc/j-jaxrpc.html
说明:从最底层开始讲起
SpringMVC 集成 Hessian
http://blog.csdn.net/isea533/article/details/45038779
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:
http://blog.csdn.net/mindfloating/article/details/39474123
昨天下午刚刚接触 RPC,趁着刚刚学习完的时候,赶紧做一下记录。学习和写了一天的代码,总结如下: RPC 通过发布服务的方式,让客户端可以像在本地调用方法调用远程的方法。只不过,要给客户端传递服务的接口。客户端调用接口,就相当于调用了实现类。
使用 Hessian 的时候,还须要有 SpringMVC 的支持,因为我原来是在 Jesey 的项目里面去集成 Hessian 的,怎么都实现不了。所以这里要引起注意。
这是 SpringMVC 的支持:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
这是 Jersey 的支持:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
配置方式一:
@Bean(name="/abc")
public HessianServiceExporter hessianServiceExporter() {
HessianServiceExporter export = new HessianServiceExporter();
export.setService(datahouseService);
export.setServiceInterface(DatahouseApi.class);
return export;
}
配置方式二:
<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,所以我们可以知道,上面的那种方式的方法名字可以任意选取。
还要注意的一点是:传输的类要实现序列化接口,否则会抛出 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