代码之家  ›  专栏  ›  技术社区  ›  doublep

WebLogic线程保护

  •  21
  • doublep  · 技术社区  · 14 年前

    StuckThreadMaxTime 参数。然而,我找不到更多关于“stuckness”定义的细节。明确地:

    • 15分钟倒计时从什么时候开始。请求处理开始?最后 wait() -喜欢什么方法?还有别的吗?
    • 这只适用于请求处理线程还是所有线程?例如,请求处理线程是否可以通过为长任务生成工作线程来“逃离”这种保护?特别是,它能在没有15分钟倒计时的情况下将响应写入委派给这样的工作人员吗?

    我的用例是通过权限系统下载巨大的文件。由于用户需要经过身份验证并拥有查看文件的权限,所以我不能(或者至少不知道如何)将此留给简单的HTTP服务器,例如Apache。而且由于文件可能很大,下载可能(至少理论上)需要15分钟以上。

    2 回复  |  直到 12 年前
        1
  •  22
  •   JoseK    14 年前

    Weblogic有 不是 结束后消除卡住的线程 StuckThreadMaxTime . 它不能这样做,该消息只是一个状态信息,以便您(即管理员)知道线程已超过10分钟(600秒=10分钟,而不是15分钟)

    这是一个可配置的值。

    它适用于所有线程AFAIK-任何派生线程也将在相同的规则下运行。

    IMHO、Weblogic(或任何应用服务器)都不是存储和服务大型文件的地方。这对于Web服务器层来说是理想的——我们使用SunOne来运行文件下载servlet。在您的例子中,您需要Tomcat和Apache来优化它。

        2
  •  7
  •   dave thompson    14 年前

    WLS10 WorkManager文档可能会导致一些真正的headscratching。看到了吗 http://blogs.oracle.com/jamesbayer/2010/01/work_manager_leash_for_slow_js.html

    再加上这个例子,你可以加上 <ignore-stuck-threads>true</ignore-stuck-threads> <work-manager> 定义 应该 防止针对失败的服务器状态对为该WorkManager工作的线程计数。