在Bea Weblogic中运行批处理

时间:2009-04-02 10:26:51

标签: java java-ee batch-file weblogic

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

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

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

在BEA Weblogic中执行此操作的最佳做​​法是什么?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

Weblogic Servers提供WorkManagers,它支持更长的线程运行时间,并针对长期工作进行了优化(一般来说,它们是围绕好旧ThreadPools的框架)。 对于WorkManagers,您可以定义MaxThreadStuckTime,即线程被计算为卡住并可能被杀死的时间。