我使用 Servlet/EJB 模型。当用户请求他过去交易的报表报告时,服务器需要几个小时才能生成报告。因此,在处理请求之前,不会从服务器发送响应。
例如。 客户端请求报告 -> Servlet 接收请求 -> 调用 EJB 处理它,EJB 下班后生成报告 -> 向 servlet 发送响应 -> 响应客户端。
但是是否有可能在 servlet 中收到请求后立即响应用户。例如。
客户端请求报告 -> Servlet 接收请求 -> Servlet 响应“报告将很快可用”
Servlet -> 调用 EJB 进行处理,EJB 下班后生成报告 -> 向 servlet 发送响应 -> 当客户端再次请求报告时响应客户端。
也就是说,我可以从 Servlet 创建一个线程并使用它来调用 EJB,同时 Servlet 响应用户说明请求将很快被处理