首页 > 编程知识 正文

java线程生命周期有几种状态,java servlet生命周期

时间:2023-05-04 14:55:10 阅读:25962 作者:313

我们有独特的案例。 我们需要和外部API接口。 这需要长时间轮询他们的端点,以获得他们所谓的实时事件。

问题是,最多可以有80,000人/设备在任意时间单击此端点,监听事件,并且每个设备/人可能有一个连接。

如果客户端请求从我们的Spring服务中长轮询事件,则我们的服务随后异步调用外部API来长轮询事件。 外部API定义为允许最小长轮询超时设置为180秒。

在这里,我遇到了排队线程池无法正常工作的情况。 因为如果有“5分钟、10个最大值、10个队列”这样的线程池,就会聚焦10个线程,在当前10个中的10个完成之前就没有机会了。

需要服务或失败,但把负载平衡器等放在后面。 我不想在没有实际轮询的情况下挂起客户端。

我们研究了延迟结果的使用方法,并从控制器返回。

一些调整过的东西

@ request mapping (value=' test/deferred result ',method=RequestMethod.GET ) )。

eferredresultcompletablefuture.supply async ((-testservice.test ).whencompleteasync ) ) result,throwable)。

返回延迟结果;

}

我怀疑我是否在正确的道路上。 CompletableFuture.supplyAsync ) )方法提供可执行文件和什么样的可执行文件(和配置),使我们怀疑是否应该最好地完成我们的任务。

我想知道是否有人已经读过各种文章、帖子等,知道可能对我们的具体情况有帮助。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。