91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 341KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-28
  • 語言: 其他
  • 標簽: FutureTask??

資源簡介

定義全局線程池,將用戶的請求放入自定義隊列中,排隊等候線程調用,等待超時則自動取消該任務,實現超時可取消的異步任務

資源截圖

代碼片段和文件信息

package?com.test.filter;

import?java.io.IOException;
import?java.text.SimpleDateFormat;
import?java.util.concurrent.BlockingQueue;
import?java.util.concurrent.ExecutorService;
import?java.util.concurrent.Executors;
import?java.util.concurrent.linkedBlockingQueue;
import?java.util.concurrent.ThreadPoolExecutor;
import?java.util.concurrent.TimeUnit;

import?javax.servlet.Filter;
import?javax.servlet.FilterChain;
import?javax.servlet.FilterConfig;
import?javax.servlet.ServletException;
import?javax.servlet.ServletRequest;
import?javax.servlet.ServletResponse;

import?org.apache.log4j.Logger;

public?class?ThreadPoolFilter?implements?Filter?{
private?static?SimpleDateFormat?smf?=?new?SimpleDateFormat(“yyyy-MM-dd?HH:mm:ss.sss“);
private?static?BlockingQueue?waitqueue?=?new?linkedBlockingQueue();
private?static?BlockingQueue?queue?=?new?linkedBlockingQueue();
private?static?ThreadPoolExecutor?executor;
private?static?ExecutorService?es?=?Executors.newFixedThreadPool(1);
private?static?Logger?logger?=?Logger
.getLogger(ThreadPoolFilter.class.getName());

public?static?void?setWaitqueue(Runnable?runnable)?{
waitqueue.add(runnable);
}

@Override
public?void?init(FilterConfig?fConfig)?throws?ServletException?{
int?corePoolSize?=?Integer.parseInt(fConfig.getInitParameter(“corePoolSize“));
int?maxMumPoolSize=Integer.parseInt(fConfig.getInitParameter(“maxMumPoolSize“));
long?keepAliveTime=Long.parseLong(fConfig.getInitParameter(“keepAliveTime“));
executor=?new?ThreadPoolExecutor(corePoolSize?maxMumPoolSize?keepAliveTime?TimeUnit.SECONDS?queue);
es.execute(new?Runnable()?{
@Override
public?void?run()?{
while?(true)?{
while?(waitqueue.size()?>?0)?{
try?{
logger.info(“waitqueue:“?+?waitqueue.size());
Runnable?task?=?waitqueue.take();
executor.submit(task);
logger.info(“queue:“?+?queue.size());
}?catch?(InterruptedException?e)?{
e.printStackTrace();
}
}
}
}
});
System.out.println(“init?ThreadPoolExecutor....“);
}

@Override
public?void?destroy()?{
try?{
executor.shutdownNow();
}?catch?(Exception?e)?{
//?TODO:?handle?exception
}
try?{
es.shutdownNow();
}?catch?(Exception?e)?{
//?TODO:?handle?exception
}
System.out.println(this.getClass().getName()+“:shutdown?success“);
}

@Override
public?void?doFilter(ServletRequest?request?ServletResponse?response?FilterChain?chain)
throws?IOException?ServletException?{
chain.doFilter(request?response);
}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1139??2019-11-25?10:35??TestQueue\.classpath

?????文件???????1059??2019-11-25?10:35??TestQueue\.project

?????文件????????564??2019-11-25?10:35??TestQueue\.settings\.jsdtscope

?????文件?????????62??2019-11-25?10:36??TestQueue\.settings\com.genuitec.eclipse.modernweb.common.core.prefs

?????文件?????????57??2019-11-25?10:36??TestQueue\.settings\org.eclipse.core.resources.prefs

?????文件????????364??2019-11-25?10:35??TestQueue\.settings\org.eclipse.jdt.core.prefs

?????文件????????486??2019-11-25?10:35??TestQueue\.settings\org.eclipse.wst.common.component

?????文件????????396??2019-11-25?10:35??TestQueue\.settings\org.eclipse.wst.common.project.facet.core.xml

?????文件?????????49??2019-11-25?10:35??TestQueue\.settings\org.eclipse.wst.jsdt.ui.superType.container

?????文件??????????6??2019-11-25?10:35??TestQueue\.settings\org.eclipse.wst.jsdt.ui.superType.name

?????文件???????2642??2019-11-25?10:37??TestQueue\src\com\test\filter\ThreadPoolFilter.java

?????文件???????2468??2019-11-25?10:42??TestQueue\src\com\test\servlet\FurtureTaskTest.java

?????文件????????471??2019-11-25?10:45??TestQueue\src\com\test\servlet\ResultDemo.java

?????文件???????3697??2019-11-25?11:40??TestQueue\src\com\test\servlet\TestServlet.java

?????文件????????834??2019-11-25?10:35??TestQueue\WebRoot\index.jsp

?????文件?????????39??2019-11-25?10:35??TestQueue\WebRoot\meta-INF\MANIFEST.MF

?????文件???????1658??2019-11-25?10:38??TestQueue\WebRoot\WEB-INF\classes\com\test\filter\ThreadPoolFilter$1.class

?????文件???????4103??2019-11-25?10:38??TestQueue\WebRoot\WEB-INF\classes\com\test\filter\ThreadPoolFilter.class

?????文件???????2867??2019-11-25?10:42??TestQueue\WebRoot\WEB-INF\classes\com\test\servlet\FurtureTaskTest.class

?????文件????????996??2019-11-25?10:45??TestQueue\WebRoot\WEB-INF\classes\com\test\servlet\ResultDemo.class

?????文件???????1569??2019-11-25?10:42??TestQueue\WebRoot\WEB-INF\classes\com\test\servlet\TaskCallable.class

?????文件???????1993??2019-11-25?11:40??TestQueue\WebRoot\WEB-INF\classes\com\test\servlet\TestServlet$1.class

?????文件???????1671??2019-11-25?11:40??TestQueue\WebRoot\WEB-INF\classes\com\test\servlet\TestServlet$TestCallable.class

?????文件???????4411??2019-11-25?11:40??TestQueue\WebRoot\WEB-INF\classes\com\test\servlet\TestServlet.class

?????文件?????367444??2019-11-25?10:38??TestQueue\WebRoot\WEB-INF\lib\log4j-1.2.14.jar

?????文件???????1365??2019-11-25?11:37??TestQueue\WebRoot\WEB-INF\web.xml

?????目錄??????????0??2019-11-25?10:38??TestQueue\WebRoot\WEB-INF\classes\com\test\filter

?????目錄??????????0??2019-11-25?10:58??TestQueue\WebRoot\WEB-INF\classes\com\test\servlet

?????目錄??????????0??2019-11-25?10:38??TestQueue\WebRoot\WEB-INF\classes\com\test

?????目錄??????????0??2019-11-25?10:37??TestQueue\src\com\test\filter

............此處省略15個文件信息

評論

共有 條評論

相關資源