gpt4 book ai didi

java - Finagle 服务器启动后未准备好

转载 作者:行者123 更新时间:2023-12-02 11:58:41 25 4
gpt4 key购买 nike

我有一个 Finagle 服务器,显然无法知道何时重新启动。

有这个代码

esbMockServer = Some(defaultServer
.serve(s"localhost:$esbPort", esbService))
println(s"Running Finagle Regular Esb Mock Server in port $esbPort.......")
Await.ready(esbMockServer.get,10 second)

总是在 Await 中抛出超时异常,但从第 1 秒起它就正常运行了。

知道这里出了什么问题吗?

最佳答案

Await.ready 并没有像你想象的那样做。它与 Await.result 基本相同,只是它返回 Awaitable 对象本身而不是结果。

底线是,Await.ready 将在 Server 停止之后返回( .close 被调用),而不是当它“准备好”时......后者应该是这种情况,几乎立即,你不需要等待它。

通常,您需要将 Await.ready(server) 放在 main 函数的末尾,以永远阻塞主线程,直到服务器退出。

关于java - Finagle 服务器启动后未准备好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47417856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com