默认情况下,WebLogic 在 15 分钟(600 秒)后杀死卡住的线程,这由StuckThreadMaxTime
参数控制。但是,我无法找到有关如何定义“卡住”的更多详细信息。具体来说:
- 15 分钟倒计时从什么时候开始。请求处理开始?最后
wait()
一种方法?还有什么? - 这仅适用于请求处理线程还是适用于所有线程?即,请求处理线程可以通过为长时间任务生成工作线程来“逃避”这种保护吗?特别是,它可以在没有 15 分钟倒计时的情况下将响应写入委托给这样的工人吗?
我的用例是通过权限系统下载大文件。由于用户需要经过身份验证并有权查看文件,因此我不能(或至少不知道如何)将其留给简单的 HTTP 服务器,例如 Apache。而且由于文件可能很大,下载可能(至少在理论上)需要 15 分钟以上。