您的位置:首页 > 其它

孙鑫mfc学习笔记第七八课

2010-08-24 23:14 387 查看
     刚刚学习了RMI基础运用,现在来看一下 spring对RMI的支持。

  这边要注意一点,和普通的RMI相比,和spring结合不再继承 UnicastRemoteObject

接口变成

public class StudentMsg  implements IStudentMsg

 而不是之前的

public class StudentMsg extends UnicastRemoteObject implements IStudentMsg

 

 

其他的配置不变,现在看看spring配置文件

服务端:applicationContext.xml

<!--服务端-->
<bean id="studentServiceImpl" class="com.Rmi.Serv.StudentMsg" scope="prototype"/>
<!-- 将类为一个RMI服务 -->
<bean id="studentService" class="org.springframework.remoting.rmi.RmiServiceExporter">
<!-- 服务类 -->
<property name="service" ref="studentServiceImpl" />
<!-- 服务名 -->
<property name="serviceName" value="studentServices" />
<!-- 服务接口 -->
<property name="serviceInterface" value="com.Rmi.Imp.IStudentMsg" />
<!-- 服务端口 -->
<property name="registryPort" value="9999" />
</bean>

 

 

 客户端:applicationContext2.xml

<!--客户端-->
<bean id="myClient" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<property name="serviceUrl" value="rmi://127.0.0.1:9999/studentServices"/>
<property name="serviceInterface" value="com.Rmi.Imp.IStudentMsg"/>
</bean>

 

 

    就是那么简单。

 

 

   测试一下:

客户端:
public class ClientTest {
public static void main(String[] args) throws RemoteException {
plicationContext context = new ClassPathXmlApplicationContext("applicationContext2.xml");
tudentMsg hms = context.getBean("myClient", IStudentMsg.class);
System.out.println(hms.findStudentArray().length);
}

   

public class ServerTest {

 public static void main(String[] args) {
  //初始化工作只能运行一次;运行多次的话,会启动多个服务
  ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
 }
}

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: