"Connect timeout"春天还活着吗?



Spring 3.2.6

可能有一个我错过的简单解决方案,但在过去的几天里我一直在搜索董事会,尝试了一些东西,到目前为止什么都没有 - 所以我想我会咨询专家。

我的应用:我在applicationContext.xml中配置了 5 个 JaxWsPortProxyFactoryBean bean,它们连接到并使用各种 Web 服务。 一切都很好,非常好!

问题:当我的应用启动时,可能有 1 个或多个 Web 服务处于关闭状态或无法访问。 这很好,因为我的应用程序可以在没有它们的情况下运行;但是,有没有办法在收到TimeoutException(或由于与 WS 的连接而导致的任何异常(后继续处理上下文中的其他 bean?

我希望在JaxWsPortProxyFactoryBean有像continueOnError或类似的东西。

希望这是有道理的。

可以通过将 lookupServiceOnStartup 属性设置为 false 来禁用启动时对 Web 服务的查找/检查。

<bean id="yourService" class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean">
    <property name="lookupServiceOnStartup" value="false" />
    // Other properties
</bean>

优点是应用程序启动速度更快,缺点是首次调用 Web 服务可能需要更长的时间。

您可以查看 javadoc 以获取更多信息,lookupServiceOnStartup 属性在 JaxWsPortClientInterceptor 上定义。

可能的解决方案是使用 setLookupServiceOnStartup 并将其设置为 false。

http://static.javadoc.io/org.springframework/spring-web/3.2.6.RELEASE/index.html?org/springframework/remoting/jaxws/JaxWsPortClientInterceptor.html

最新更新