加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Java-RmiProxyFactoryBean Autowired(必填= false)

发布时间:2020-12-15 01:20:00 所属栏目:大数据 来源:网络整理
导读:我有5个项目-其中有4个在控制台上运行(例如A,B,C和D),其中包含java -jar A.jar等和1个Web应用程序(E).该Web应用程序部署在许多隔离的服务器上,其中一些服务器还同时运行A,C和D. 在Web应用程序的spring config文件中,我有4个RmiProxyFactoryBean声明,每个项目

我有5个项目-其中有4个在控制台上运行(例如A,B,C和D),其中包含java -jar A.jar等和1个Web应用程序(E).该Web应用程序部署在许多隔离的服务器上,其中一些服务器还同时运行A,C和D.

在Web应用程序的spring config文件中,我有4个RmiProxyFactoryBean声明,每个项目A,C和D都有一个声明,其中每个项目都有1个RmiServiceExporter.

我的问题是,如果其中一个项目(A-D)未运行,则Web应用程序在启动时会引发异常.我尝试在使用这些服务的控制器中使用@Autowired(required = false)无济于事.为了使其正常工作,我必须去编辑Web应用程序的spring文件,以注释掉未运行项目的RmiProxyFactoryBean.有没有一种告诉RmiProxyFactoryBean尝试检索Bean的方法,如果它失败了,那就不用担心-与自动装配中的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>
最佳答案
在您的RmiProxyFactoryBean中,还将lookupStubOnStartup属性设置为“ false”.这应防止客户端代理在启动时引发异常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读