Java 如何通过jmx停止ThreadPoolTaskExecutor中的活动线程
在我的应用程序中,我使用的是ThreadPoolTaskExecutor。此执行器包含返回activeThread getActiveCount的方法。是否存在如何停止此活动线程的选项?我不想关闭这个执行器,我只想停止一些无限过程,比如Java 如何通过jmx停止ThreadPoolTaskExecutor中的活动线程,java,spring,task,Java,Spring,Task,在我的应用程序中,我使用的是ThreadPoolTaskExecutor。此执行器包含返回activeThread getActiveCount的方法。是否存在如何停止此活动线程的选项?我不想关闭这个执行器,我只想停止一些无限过程,比如 while(true){ } PS:我有权访问这个执行器,因为我想通过jmx停止这个线程 在我的应用程序中,我正在添加如下新线程: taskExecutor.execute(new Runnable() {
while(true){
}
PS:我有权访问这个执行器,因为我想通过jmx停止这个线程
在我的应用程序中,我正在添加如下新线程:
taskExecutor.execute(new Runnable() {
@Override
public void run() {
doSomething()
}
});
您需要快速检查如何添加任务 只要您使用submit添加任务,您就可以使用此调用返回的Future任务来取消特定任务。但是,如果使用execute,则会重新获得对任务的控制权 试试这个:
public void run() {
while (true) {
doSomething();
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
//Very important.
Thread.currentThread().interrupt();
break;
}
}
System.out.println("Shutting down thread");
}
这是一篇好文章