【发布时间】:2016-06-30 00:10:05
【问题描述】:
我通过创建固定数量的线程来使用执行器服务来进行 HTTP GET 数据检索。
executorService = ExecutorServiceFactory.getInstance().getExecutorService(Config.getInstance().getNumberOfThreads(), "ThreadExecutor_"+UIDFactory.getInstance().createSessionID());
executorService.execute(new Retrieve(data));
private class Retrieve implements Runnable{
private Vector<String> data;
public WADORetrieve(Vector<String> data) {
this.data = data;
}
@Override
public void run() {
for(int i=0;i<data.length;i++){
fetch(data[i]);
}
}
}
当 Tomcat 停止时,我们会收到此错误:
严重:Web 应用程序 [/viewer] 似乎已经启动了一个名为 [ThreadExecutor_5161616156] 的线程,但未能停止它。这很可能会造成内存泄漏。
这是一个真正的问题吗?如果没有这些服务错误,我该怎么做才能正确停止 tomcat。
【问题讨论】:
标签: java multithreading tomcat threadpool executorservice