【问题标题】:Give response to the client without depending on processing -Servlet不依赖处理给客户端响应 -Servlet
【发布时间】:2015-11-24 03:09:50
【问题描述】:

我正在向 Servlet(托管在 Tomcat 上)发送一个请求。

那个 Servlet 做了什么:

查询数据库并获取文件名并删除位于文件夹中的文件。

我需要什么?

这种操作需要很长时间,因为有时我必须删除一些 200-300 个文件。所以我需要调用一个在后台工作的任务,并且servlet的响应不应该等待任务完成。

最后:

Servlet 应该能够通过请求启动任务并且他必须立即得到响应(不依赖于任务处理)。

我不是在谈论 AJAX。

【问题讨论】:

  • 删除20-100个文件应该是相当快的,但不管怎样,看看Executors类。应用启动时创建Executor服务,将任务提交给Executor后台运行。

标签: java jakarta-ee servlets servlet-listeners


【解决方案1】:

一般来说,您需要以异步方式处理您的任务。您应该考虑 Spring @Async 或 EJB @Asynchronous 中众所周知的实现之一。

【讨论】:

    猜你喜欢
    • 2016-04-18
    • 2020-11-26
    • 2020-12-16
    • 1970-01-01
    • 2018-07-21
    • 2017-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多