2

SpringでRMIを介して公開したサービスがたくさんあります。現在、私のアプリはWebアプリとして構成されており、RMIサービスを利用できるようにするためにアプリをJBossにデプロイしています。アプリをWebアプリにすることなく、RMIで公開されているサービスを実行する方法はありますか?

4

1 に答える 1

3

はい、あります。Springアプリケーションコンテキストを「通常の」(読み取り:非webapp)アプリケーションでインスタンス化し、サービスとそのエクスポーターを定義するだけです。

<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 に答える