Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序的体系结构:请求处理_Java_Multithreading_Jakarta Ee_Servlets_Architecture - Fatal编程技术网

Java 应用程序的体系结构:请求处理

Java 应用程序的体系结构:请求处理,java,multithreading,jakarta-ee,servlets,architecture,Java,Multithreading,Jakarta Ee,Servlets,Architecture,我有以下问题: 我正在用servlet和JSP编写一个web应用程序,它应该查询一个单独的服务。 但是查询需要很多时间——大约30秒 我的应用程序的结构很简单-过滤器->控制器->jsp。我在想,如果在过滤器中,当控制器继续执行其任务时,我将请求发送到一个单独的线程中进行处理,该怎么办。为了使查询过程和控制器处理同时进行,我应该做些什么?+我需要每5分钟更新一次查询(这样用户才有相关信息)。这样做的最佳方式是什么 当web应用程序启动时,使用ServletContextListener启动线程

我有以下问题:

我正在用servlet和JSP编写一个web应用程序,它应该查询一个单独的服务。 但是查询需要很多时间——大约30秒


我的应用程序的结构很简单-过滤器->控制器->jsp。我在想,如果在过滤器中,当控制器继续执行其任务时,我将请求发送到一个单独的线程中进行处理,该怎么办。为了使查询过程和控制器处理同时进行,我应该做些什么?+我需要每5分钟更新一次查询(这样用户才有相关信息)。这样做的最佳方式是什么

当web应用程序启动时,使用ServletContextListener启动线程

线程应该将数据写入ServletContext(例如,通过setAttribute()

ServletContextListener应该在应用程序停止时终止线程


Servlet应该根据需要从ServletContext读取数据。

在web应用程序启动时,使用ServletContextListener启动线程

线程应该将数据写入ServletContext(例如,通过setAttribute()

ServletContextListener应该在应用程序停止时终止线程

Servlet应该根据需要从ServletContext读取数据