gpt4 book ai didi

java - 您如何监视/终止 Java Web 容器中长时间运行的线程?

转载 作者:搜寻专家 更新时间:2023-11-01 03:51:13 24 4
gpt4 key购买 nike

我有一个 Web 应用程序,其中包含用于执行可能长时间运行的作业的 Java Bean。我想找到一种方法来识别线程何时执行了很长时间,然后在必要时可能会终止它。

我的应用程序在 Glassfish 3 中运行,因此我使用的是 Java 1.6。我只是在寻找 future 潜在问题的解决方案。

编辑:

明确地说,我正在寻找类似工具或实用程序的东西来监视正在运行的 Web 应用程序。

最佳答案

使用执行器服务。

  ExecutorService executor = Executors.newSingleThreadExecutor();
Future<String> future = executor.submit(new Runnable(){ ....});//pass your runnable

然后你可以等待指定的时间:

  try {
int timeOut = 5;
//Waits if necessary for at most the given time for the computation to
// complete, and then retrieves its result, if available.
future.get(timeout, TimeUnit.SECONDS)
} catch (TimeoutException e) {
System.out.println("TimedOut!");
}

executor.shutdownNow();

关于java - 您如何监视/终止 Java Web 容器中长时间运行的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27487441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com