2

我有一堆服务,我已经通过 Spring 的 RMI 公开了这些服务。目前,我的应用程序配置为 Web 应用程序,我将应用程序部署到 JBoss 以使我的 RMI 服务可用。有没有一种方法可以运行我的 RMI 公开服务,而不必将我的应用程序变成 Web 应用程序?

4

1 回答 1

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.

在此处阅读有关 RMI 的完整文档。如果您不熟悉如何实例化 Spring 上下文,请阅读此处

于 2011-06-17T18:56:33.527 回答