java -jar A.jar
私は 5 つのプロジェクトを持っています。そのうちの 4 つは、 etc と 1 つの Web アプリケーション (E)を使用してコンソール (A、B、C、D など) で実行されます。Web アプリケーションは、A、B、C、および D の組み合わせが実行されているいくつかの分離されたサーバーにデプロイされています。
Web アプリケーションの Spring 構成ファイルにはRmiProxyFactoryBean
、プロジェクト A、B、C、D のそれぞれに 1 つずつ、4 つの宣言があります。これらのプロジェクトにはそれぞれ 1 がありRmiServiceExporter
ます。
私の問題は、プロジェクト (AD) の 1 つが実行されていない場合、Web アプリケーションが起動時に例外をスローすることです。@Autowired(required=false)
これらのサービスを使用してコントローラーで使用しようとしましたが、役に立ちませんでした。RmiProxyFactoryBean
それを機能させるには、Web アプリのスプリング ファイルを編集して、実行されていないプロジェクトをコメント アウトする必要があります。ビーンを取得しようとするように指示する方法はありますか?RmiProxyFactoryBean
それが失敗した場合でも心配する必要はありませんrequired=false
。
私の設定は現在次のようになっています:
<bean class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="service" ref="diagramAssociationService" />
<property name="serviceName" value="diagramAssociationService"/>
<property name="serviceInterface" value="com.act.xv.service.IDiagramAssociationService"/>
</bean>
と
<bean id="diagramAssociationService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<property name="serviceUrl" value="rmi://${xv.deploy.location}/diagramAssociationService"/>
<property name="serviceInterface" value="com.act.xv.service.IDiagramAssociationService"/>
<property name="refreshStubOnConnectFailure" value="true" />
</bean>