还没有测试,先留在这儿,转自http://www.walkerjava.com/forum.php?mod=viewthread&tid=144&fromuid=3
服务器端:
接口定义类
public interface ITestRMI {
public String sayHelloWorld(String name);
}
接口实现类定义
public class TestRMI implements ITestRMI {
public String sayHelloWorld(String name) {
String string = name + " Welcome to walkerjava 技术交流圈";
return string;
}
服务器端spring配置文件
<!-- 定义实现类bean -->
<bean id="testRMI" class="com.walkerjava.service.TestRMI"></bean>
<!-- 服务器端配置 -->
<bean id="rmiServiceExporter" class="org.springframework.remoting.rmi.RmiServiceExporter">
<!-- 定义提供服务的服务名称 value随便起,客户端使用 -->
<property name="serviceName" value="test_rmi"></property>
<!-- 定义提供服务的实现类,在客户端不用定义,value可以把bean的ID替换为com.walkerjava.serviceTestRMI -->
<property name="service" value="testRMI" />
<!-- 定义提供服务的接口类,在客户端必须定义,value可以定义bean然后替换为bean的ID -->
<property name="serviceInterface" value="com.walkerjava.service.ITestRMI" />
<!-- 定义提供服务的端口号,客户端使用 -->
<property name="registryPort" value="11580"/>
</bean>
客户端配置方式一
客户端接口与服务器端接口保持一致
public interface ITestRMI {
public String sayHelloWorld(String name);
}
客户端服务层
public class TestService {
public void test(String name) {
String a = test_rmi.sayHelloWorld(name);
System.out.println(a);
}
/* spring 注入的名称 */
private ITestRMI client_rmi;
public void setClient_rmi(ITestRMI client_rmi) {
this.client_rmi= client_rmi;
}
}
客户端action控制
public class TestAction {
/* spring注入的service */
private TestService testService = null;
public String test() {
testService.test("xphaier");
return null;
}
public void setTestService(TestService testService) {
this.testService = testService;
}
}
客户端spring配置文件
<!-- 客户端配置 -->
<bean id="ref_client_rmi" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<!-- 定义服务器端提供的接口类,value可以定义ref=bean然后替换为bean的ID -->
<property name="serviceInterface" value="com.walkerjava.service.ITestRMI" />
<!-- 定义服务器端提供的URL 端口号和服务器端的 registryPort配置的端口号一致-->
Struts.xml 配置
<package name="aa" extends="struts-default" namespace="/">
<action name="test" method="test" class="testAction"></action>
</package>
客户端执行 http://localhost:8080/rmi_client/test.action
控制台输出 xphaier Welcome to walkerjava 技术交流圈
分享到:
相关推荐
spring RMI 远程接口调用 包含服务端客户端程序,可完整运行
rmi与spring整合实例
Spring集成rmi,实现远程服务,使用RMI集成实例
SpringRMI小例子代码,仅供参考。SpringRMI小例子代码,仅供参考。
spring RMI 服务(自动把service发布为RMI服务),本例子加入了spring的预处理,可以根据自己的需要把指定位置的bean发布为 RMI 服务。
1. 远程调用RMI(Remote Method Invocation): 通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的...
闲来无事,做了个Spring RMI的小例子,非常易懂。
为了避免业务逻辑重新开发,顾使用spring rmi,把所有的bean作为rmi服务暴漏出来,在客户端只需要把项目依赖过来就ok,或者把以前的接口导入过来。 参考文档:...
spring rmi 远程调用服务端和客户端源码,eclipse环境,jdk1.7.
spring 与rmi 的整合 1.首先编写接口 interface : 这里的接口要继承Remote, 它是一个标识接口 2.编写实现类 3.编写main方法用于启动 service 4 配置spring文件 编写客户端测试类
java rmi spring 使用实例,内涵服务端和客户端的源代码,测试可用。
spring rmi 客户端 服务器 调用
一个基于Spring的rmi实现,测试成功,可以远程调用。
spring RMI 简单例子
Java RMI 远程调用实例,各个文件的作用: DISPLAYPERFECTTIME.JAVA|:向rmiregistry查找PerfectTime对象,定义调用远程对象的方法。 PERFECTTIME.JAVA:向RMI注册服务,以便客户端查找,创建提供注册服务的本地...
基于spring rmi的一些小改造,在原基础上加入了线程池控制线程数。
RMI简单实例RMI简单实例RMI简单实例
RMI远程方法调用RMI远程方法调用RMI远程方法调用RMI远程方法调用RMI远程方法调用
Spring Rmi的使用,对Spring RMI进行全访问的介绍,并介绍了其中的源代码部分
用RMI实现了KEY文件的传输