Spring + RMI + JND实现远程调用

来源:互联网 发布:台服lol有mac版本吗 编辑:程序博客网 时间:2024/05/17 07:55

 

 

1.      首先,我们需要一个对象来绑定。让我们用简单的方式来实现,只需要两个方法。 一个是得到系统当前时间,另一个是返回我们提交的字符串。如果你记得RMI,你应该知道我们需要一个接口来扩展java.rmi.Remote和一个对象来实现这个接口。

接口代码:

 

实现代码

 

 

2.      接下来我们需要一个上下文来使它工作起来。在这里我不会说详细的Spring配置,但会写出需用到的bean的定义、要绑定的对象、服务出口和注册工厂。

要绑定的对象是MyRemoteImpl 和一个简单的bean:

 

 

3.      使用RmiRegistryFactoryBeanRMI注册配置显得相当简单。

<bean id='rmi.Registry'  
    class='org.springframework.remoting.rmi.RmiRegistryFactoryBean'>
    <property name='port' value='1099' />
</bean>

这将在localhost1099端口重启或创建一个注册

接下来我们必须到处serviceregistry(绑定对象).

 

正如你所看到的,我们为绑定的对象指定了一个名字、它所绑定的registry和它所绑定的接口

一点这三个bean做好了,一个RMI注册将会被启动并将MyRemoteImpl对象绑定在这个注册上。你可以使用简单的两行代码来测试它。

 

 

4.      但,我们注意到通过JNDI存取的registr的方法可以在SunJ2SE文档中找到[JNDIGuide}(http://java.sun.com/j2se/1.4.2/docs/guide/jndi/jndi-rmi.html),我会用一个简单的例子说明。

现在开始使用JNDI,首先通过代码或别的方式设置JNDI属性。下面是使用代码设置的例子:

 

然后存取绑定对象

 

现在,你可以直接通过RMI或者JNDI lookup存取绑定对象。简单吧。

 

原文地址

 

原创粉丝点击