我有一个应用程序,前端是用 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)有关。
1 回答
精慕HU
TA贡献1845条经验 获得超8个赞
终于找到了这背后的根本原因。由于我的 Wildfly 配置文件中的 JBOSS_SocketTimeout 参数设置为 30 秒,因此产生了多个 ajp 线程。将其更改为 180 秒(REST 响应所需的最长时间),效果很好。
添加回答
举报
0/150
提交
取消