ThreadPoolExecutor 执行任务的时候会执行两遍

chaohua20 2013-04-10 10:26:57

public void run() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("获取新闻任务开始时间:"
+ df.format(Calendar.getInstance().getTime()));
ThreadPoolExecutor threadpool = new ThreadPoolExecutor(
corePoolSize, maximumPoolSize, consumeTaskSleepTime,
TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(
ArrayBlockingQueueSize));
try {
List<NewsRule> rules = newsRuleService.getNewsRule();
if(rules!=null&&rules.size()>0){
threadpool.execute(new CrawlNewsThreadNew(rules));
}
} catch (Exception e) {
log.error(e.getMessage(),e);
}finally{
System.out.println("获取新闻任务结束时间:"
+ df.format(Calendar.getInstance().getTime()));
}

}


求解释这是什么情况!!!
...全文
422 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaohua20 2013-05-04
  • 打赏
  • 举报
回复
最终问题解决了~是tomcat初始化的时候的问题因为设置了虚拟路径

	<Host name="localhost"  appBase=""
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
        -->
         <Context path="" docBase="webapps/你的项目名" />
      </Host>
改成这样就好了
chaohua20 2013-04-16
  • 打赏
  • 举报
回复
这问题应该有人遇到过吧~
chaohua20 2013-04-10
  • 打赏
  • 举报
回复
怎么没人回复~~~~

67,511

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧