在tomcat服务器中部署依赖的应用程序

时间:2020-06-08 10:27:55

标签: java spring-boot tomcat

我在相同的tomcat Web应用程序中部署了2个.war文件(春季启动)。 让我们说“ A”和“ B”。应用程序“ A”将公开一些剩余端点。初始化期间,应用程序“ B”必须消耗“ A”中的终结点。应用程序“ B”的初始化代码就是这样。

@EventListener( ApplicationReadyEvent.class )
    private void init(){
      // invoke API from App 'A'
    }

此外,tomcat的配置方式是先部署A,然后部署B。但是在B启动期间,由于tomcat尚未准备好服务请求,因此API调用失败。虚拟API调用超时,并且应用B无法启动。此后,如果我尝试仅重新启动App B,它将成功,因为API现在将成功。

有人可以让我知道是否有解决方案,而不必重启失败的应用程序吗?

谢谢 Venkatesh

1 个答案:

答案 0 :(得分:0)

假设您的App A和App B可以位于单独的tomcat中,那么部署顺序显然已经掌握在您手中。 但对于您在此处提到的特定情况,下面的解决方案可以解决问题。

您可以维护一些通用文件,一旦应用程序A完全初始化并且在初始化期间,您就可以在其中写入状态B,应用程序B会继续从文件中检查状态。一旦找到所需的状态,然后应用B可以开始调用应用A。

相关问题