博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[spring-framework]Spring中集成RMI(远程方法调用)
阅读量:6956 次
发布时间:2019-06-27

本文共 2294 字,大约阅读时间需要 7 分钟。

hot3.png

之前介绍过如何发布RMI服务和调用RMI服务,其实在Spring中为我们提供了更为方便的调用方式。现在介绍下如何在Spring中集成RMI。

首先看下实例程序目录结构:

081258_d4ix_2265030.png

Spring中发布RMI服务(ZLv_RMIServerWithSpring):

(1) 定义接口MessageProvider及接口中供调用的方法(MessageProvider.java):

package org.thera.rmi.service;public interface MessageProvider {	public String queryForMessage(String name);}

(2) 实现MessageProvider接口(MessageProviderImpl.java):

package org.thera.rmi.service;public class MessageProviderImpl implements MessageProvider {	@Override	public String queryForMessage(String name) {		return "Hello, " + name;	}}

做好了上述准备,下面我们就可以通过Spring中集成RMI,方便的发布RMI服务端

(3) Spring配置文件作如下配置(context.xml):

(4) 加载Spring容器,发布RMI服务(Main.java):

package org.thera.rmi.service.main;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;public class Main {	public static void main(String[] args) {		ApplicationContext ctx = new FileSystemXmlApplicationContext("conf/context.xml");		System.out.println("已成功发布RMI服务类");	}}

    到这里,RMI的服务端已经发布成功,运行结果如下截图:

085416_7sAl_2265030.png

Spring中客户端调用RMI服务(ZLv_RMIClientWithSpring):

(1) 移植服务端服务接口文件MessageProvider.java;

(2) Spring配置文件做如下配置:

(3) 加载Spring容器,调用RMI服务端(Main.java):

package org.thera.rmi.service.main;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;import org.thera.rmi.service.MessageProvider;public class Main {	public static void main(String[] args) {		ApplicationContext ctx = new FileSystemXmlApplicationContext("conf/context.xml");		System.out.println("加载Spring容器,并初始化RMI客户端");		MessageProvider client = (MessageProvider)ctx.getBean("messageService");		String temp = client.queryForMessage("LvSantorini");				System.out.println("返回结果: " + temp);	}}

运行Main.java,结果如下图:

090301_LjeC_2265030.png

--------------------------------------------------------------------------------我 只 是 一 条 分 隔 线-------------------------------------------------------------------------------------------------

到这里我们就已经介绍完Spring中集成RMI的发布和调用方式了,怎么样?相比原始方法简单了不少吧,接口文件如此简单,之前的实现java.rmi.Remote接口,每个方法还要抛出java.rmi.RemoteException都不需要写了。

最后,有什么问题大家可以及时给我留言,共同进步!

转载于:https://my.oschina.net/LvSantorini/blog/489405

你可能感兴趣的文章
bootstrap 模态框动态加载数据
查看>>
初始化构造函数中定义的实体集合,方便嵌套类型的遍历
查看>>
深入理解css3中nth-child和 nth-of-type的区别
查看>>
MySQL慢查询Explain Plan分析
查看>>
MyBatis原理分析之三:初始化(配置文件读取和解析)
查看>>
180321
查看>>
Spark2.1.0之源码分析——事件总线
查看>>
Htmlparser专题
查看>>
大数据开发实战:数据平台大图和离线数据平台整体架构
查看>>
Spring MVC 3 深入总结
查看>>
Android自定义控件View(一)
查看>>
C/C++中的getline函数总结:
查看>>
【转】雪崩光电二极管(APD)偏置电源及其电流监测
查看>>
关于CAShapeLayer的一些实用案例和技巧
查看>>
Android中Service 使用详解(LocalService + RemoteService)
查看>>
使用scrapy抓取Youtube播放列表信息
查看>>
leetcode 简化路径
查看>>
微信小程序开发系列教程三:微信小程序的调试方法
查看>>
Spring Boot(十四)RabbitMQ延迟队列
查看>>
Babel 插件原理的理解与深入
查看>>