我有很多服务,我通过Spring在RMI上公开过。目前,我的应用程序配置为Web应用程序,我将我的应用程序部署到JBoss,以使我的RMI服务可用。有没有办法让我可以运行我的RMI公开服务而不必将我的应用程序变成Web应用程序?
答案 0 :(得分:3)
是的,只需在'普通'(读取:非webapp)应用程序中实例化您的Spring应用程序上下文,并为其定义您的服务和导出器:
<bean id="myService" class="my.example.MyServiceImpl">
<!-- properties -->
</bean>
<bean class="org.springframework.remoting.rmi.RmiServiceExporter">
<!-- does not necessarily have to be the same name as the bean to be exported -->
<property name="serviceName" value="myRMIService"/>
<property name="service" ref="myService"/>
<property name="serviceInterface" value="my.example.MyService"/>
<!-- defaults to 1099 -->
<property name="registryPort" value="1199"/>
</bean
这样您的服务就可以在rmi://HOST:1199/myRMIService
处获得。