清除长时间运行的服务请求的方法

时间:2019-06-19 07:05:59

标签: java apache tomcat mod-jk

tomcat在处理请求时,如果未在x分钟内完成请求(例如:1:30m),则该过程应停止并引发错误。

reply_timeout解决方案和http://tomcat.apache.org/connectors-doc/reference/workers.html中的其他超时解决方案无法完成所需的工作,因为它无法停止进程或正在寻找错误的事物。

我的流程如何工作是这样的。客户点击一个面向外部的应用程序,该应用程序执行初始工作,然后调用我的服务来执行主要业务逻辑。面向外部的应用程序有一个超时设置,如果超时,则发送它自己的错误。由于其他依赖性,我无法更新面向外部的应用程序超时。我需要的是在面向外部的应用程序超时之前发送自己的自定义错误消息的方法。理想情况下,我想停止处理并抛出选择错误。

为清楚起见,我的服务在x分钟内没有卡住或闲置。它正在处理和进行操作。问题是该过程完成的累积时间超过了外发应用程序的超时时间。

timer.schedule()似乎是最合适的,但是有没有一种更清洁的方法可以从tomcat端处理它,而不是让我停止停止过程。

0 个答案:

没有答案