Worker 任务在 WildFly 中多次生成

我有一个应用程序,前端是用 Angular 编写的,后端是用 java 编写的,Spring 部署在 WildFly 上。前端正在与后端 REST 服务进行通信。有一项特定服务(例如service-X)有一个 HIVE 查询,执行时间大约为 120 秒。我已经设置了一些登录应用程序的功能。现在奇怪的部分来了:当调用这个 REST 时,会发生以下事情:

  • ajpworker task-1被生成,它在 HIVE JDBC 连接上执行 SQL,比如在t时间并等待。

  • 30 秒后,即t+30 ajpworker task-2被生成并执行 SQL 并等待。

  • 30 秒后ajpworker task-3被生成并执行类似的操作。

t+90后,发生超时,并且ajpworker task-1的连接中断。其他工人也类似。这部分是可以理解的,因为 Angular 的请求超时,因此连接中断。

但无法理解为什么 30 秒后会产生多个工作任务。这是否与 WildFly 中存在的配置文件(类似于worker.properties)有关。


慕容708150
浏览 89回答 1
1回答

精慕HU

终于找到了这背后的根本原因。由于我的 Wildfly 配置文件中的 JBOSS_SocketTimeout 参数设置为 30 秒,因此产生了多个 ajp 线程。将其更改为 180 秒(REST 响应所需的最长时间),效果很好。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java