Spring RMI: Как выставить без сервера приложений или контейнера сервлетов? - PullRequest
2 голосов
/ 17 июня 2011

У меня есть несколько сервисов, которые я представил через RMI со Spring.В настоящее время мое приложение настроено как веб-приложение, и я развертываю свое приложение в JBoss, чтобы сделать мои службы RMI доступными.Есть ли способ, с помощью которого я могу запустить свои службы RMI без необходимости превращать мое приложение в веб-приложение?

1 Ответ

3 голосов
/ 17 июня 2011

Да, просто создайте экземпляр контекста приложения 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, прочитайте здесь .

...