(一) spring 远程服务之rmi
来源:互联网 发布:一部电脑管两家淘宝店 编辑:程序博客网 时间:2024/05/22 01:27
RMI
RMI 英文全称(Remote Method Invocation ) ,它让客户端在使用远程对象提供的服务时,就如同使用本地对象一样。配置rmi过程繁杂,但是使用spring管理后,你会发现spring帮我们简化了使用RMI的手续,让我们只需3分钟就能写出自己的远程服务api。
1.首先创建一个spring_test作为服务端,spring_client作为客户端,其中的spring包我这里就不说了哈。
2.在spring_test中,创建自己的api:
其中我们只需看OutService.java和OutServiceImpl.java,OutService.java是接口,OutServiceImpl.java是实现类。
代码如下:OutService.java
public interface OutService {public void login();public String getStr();}OutServiceImpl.java
public class OutServiceImpl implements OutService {@Overridepublic void login() {System.out.println("OutService服务使用login()");}@Overridepublic String getStr() {return "我是服务端的东西-->OutService服务使用getStr()";}}3.配置spring配置文件:rmi-server.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:cache="http://www.springframework.org/schema/cache"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/cachehttp://www.springframework.org/schema/cache/spring-cache-3.1.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsd"><!-- 实现类 --><bean id="outService" class="com.zhong.myspring.server.OutServiceImpl" ></bean><!-- 开发的接口 --><bean id="serverExporter" class="org.springframework.remoting.rmi.RmiServiceExporter" ><!-- 接口对应的服务 --><property name="service"><ref bean="outService" /></property><!-- 接口名称 --><property name="serviceName"><value>outServiceName</value></property><!-- 接口 --><property name="serviceInterface"><value>com.zhong.myspring.server.OutService</value></property><!-- 启动端口 --> <property name="registryPort"> <value>1199</value> </property> </bean></beans>
配好之后可以启动tomcat开启远程服务了。
然后将OutService.class 打成jar包,导入spring_client工程,供客户端调用。
4.在客户端spring_client调用服务,工程目录如下:配置:rmi-client.xml:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:cache="http://www.springframework.org/schema/cache"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/cachehttp://www.springframework.org/schema/cache/spring-cache-3.1.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsd"><!-- 接口代理 --><bean id="someServiceProxy" class="org.springframework.remoting.rmi.RmiProxyFactoryBean" ><!-- 接口路径 --><property name="serviceUrl"><value>rmi://localhost:1199/outServiceName</value></property><!-- 接口 --><property name="serviceInterface"><value>com.zhong.myspring.server.OutService</value></property></bean></beans>调用:RMIClient.java
public class RMIClient {static ApplicationContext context ;public static ApplicationContext getApplicationContext(){return new ClassPathXmlApplicationContext("rmi-client.xml");}public static void test_rmi(){context = getApplicationContext();OutService outService = (OutService) context.getBean("someServiceProxy");System.out.println("start");outService.login();System.out.println("open --> "+outService.getStr());System.out.println("end");}public static void main(String[] args) {test_rmi();}运行结果:
start
open --> 我是服务端的东西-->OutService服务使用getStr()
end
open --> 我是服务端的东西-->OutService服务使用getStr()
end
======================================
到这里调用结束啦!!
0 0
- (一) spring 远程服务之rmi
- 远程服务调用之RMI、Hessian、Burlap、Spring的HTTPinvoker
- 利用spring RMI 调用远程服务
- 远程服务RMI源码解析(一)
- RMI远程服务操作
- RMI远程服务操作
- 使用Spring进行远程访问(rmi)与Web服务
- 远程调用 - spring+rmi
- Spring配置RMI服务
- Spring RMI暴露服务
- Java RMI远程服务调用
- Spring Rmi远程方法调用
- Spring RMI实现远程调用
- Spring Rmi远程方法调用
- Spring Rmi远程方法调用
- spring整合rmi远程调用
- spring 的 RMI 远程调用
- Spring RMI调用远程方法
- Netty学习之二
- jQuery页面加载的代码
- Android为ListView的item添加按钮控件
- 正则表达式
- jquery mobile动态加载reflow table
- (一) spring 远程服务之rmi
- 【设计模式】UML类图简介
- SVN和Subclipse安装和使用指南汇总
- struts2 mvc分析
- Netty学习之三
- Codeforces Round #248 (Div. 2)
- 《Pro Android Graphics》读书笔记之第四节
- 游戏编程--wpe封包教程 (新手必备)
- 设计模式——六大原则