【发布时间】:2014-10-27 07:01:15
【问题描述】:
我有以下场景:
- 在 jBoss 上托管了一个 Web 服务。
- Java 应用程序使用 Web 服务。
现在通常的启动场景是:
- jBoss 启动并加载 Web 应用程序。
- 然后启动应用程序并使用 Web 服务。
现在的问题:
如果 Java 应用程序先启动,有什么方法可以让它知道 Web 服务已经启动?
我曾想过定期 ping Web 服务,但这可能会产生一些开销。欢迎任何解决方案。
【问题讨论】:
-
是肥皂式还是休息式?
-
尝试使用它。如果它不存在,您将获得相应的异常。
-
@EPJ 是的,我确实得到了适当的例外。但是我需要一种方法来确定 Web 服务是否稍后启动,以便应用程序可以自动正常启动。
-
为什么?会有什么不同?当您需要调用它时,它要么可用,要么不可用。如果不是,您需要应对由此产生的故障。无论是因为启动顺序还是网络故障还是核爆炸,都没有任何区别。确定任何资源可用性的唯一明智方法是在程序执行的正常过程中尝试使用它。其他任何事情,你都在引入时间窗口,试图预测未来,......
-
应用程序在启动期间需要 Web 服务。现在,如果我想要它而不是仅仅停止启动,我等待服务启动,那么我还有什么其他方法?如果我不必在出现故障时重新启动应用程序,那不是很好吗?
标签: java web-services web-applications jboss