1

我们目前在 Java 中有处理多个(有时很大)文件的批处理作业。这些作业可能需要一些时间才能运行。我们使用在循环中持续运行的 Java 线程直接在 JVM 中运行这些文件。(处理文件,然后等待一段时间)。

现在我工作的公司想要在 Weblogic 应用服务器中运行这些作业。不是因为它更好,而是因为那是公司的标准平台。

我看到的一个潜在问题是 BEA weblogic 监视所有线程,并且默认说运行时间超过 10 分钟的线程是 STUCK 线程,这可能会导致服务器处于 FAILED 状态。

在 BEA Weblogic 中执行此操作的最佳实践是什么?

4

2 回答 2

3

BEA Weblogic 仅监控特定时间的请求线程。对于请求处理代码生成的线程,它不会。我们使用 Quartz(来自 OpenSymphony)调度程序来调度 Weblogic 中的作业,该作业过去需要 3-4 小时才能完成。

于 2009-04-02T10:29:40.467 回答
1

Weblogic 服务器提供支持更长线程运行时间的 WorkManagers,并针对长时间工作进行了优化(一般来说,它们是围绕旧的 ThreadPools 的框架)。对于 WorkManager,您可以定义 MaxThreadStuckTime,在此时间之后线程被视为卡住并可能被终止。

于 2009-07-09T16:16:05.293 回答