preproject 前置任务怎么在任务上标注

四年级上册preject 2第三课时四年级上册p
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
四年级上册preject 2第三课时
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口您的浏览器已经禁用了脚本,这会严重影响您正常使用本站的功能,请开启!
当前位置: &
& rejectreject命令 reject命令属于CUPS套件,用于指示打印系统拒绝发往指定目标打印机的打印任务。 语法
reject(选项)(参数) 选项
-E:当连接到服务器时强制使用加密;
-U:指定连接服务器时使用的用户名;
-h:指定连接服务器名和端口号;
-r:指定拒绝打印任务的原因。 参数 目标:指定目标打印机。最近更新的命令 在Linux命令大全(man.linuxde.net)可以查询您所需要的Linux命令教程和相关实例。如果您觉得本站内容对您有所帮助,请推荐给更多需要帮助的人。contextInitialized_解决方案网当前位置:& &&&&线程池-定时任务& ScheduledExecutorService&线程池-定时任务& ScheduledExecutorService之shutdown引发的RejectedExecutionException有关问题本文收集于网络,只用于方便查找方案,感谢源作者,如果侵权请联系删除&线程池-定时任务& ScheduledExecutorService之shutdown引发的RejectedExecutionException问题
一、 问题描述先来看一下异常信息,启动tomcat时就报错: 15:22:39 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class
com.***.***.action.GateWayMonitorListener
java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution
(ThreadPoolExecutor.java:1774)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.jav
at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(Sched
uledThreadPoolExecutor.java:215)
at java.util.concurrent.ScheduledThreadPoolExecutor.scheduleWithFixedDel
ay(ScheduledThreadPoolExecutor.java:443)
at com.***.***.action.GateWayMonitorListener
.scheduleEmailAndSms(GateWayMonitorListener.java:77)
at com.***.***.action.GateWayMonitorListener
.contextInitialized(GateWayMonitorListener.java:67)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContex
t.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:77
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.jav
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.j
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463
at org.apache.catalina.core.StandardService.start(StandardService.java:5
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
15:22:39 org.apache.catalina.core.StandardContext start
严重: Error listenerStart再来看看相关源码:public class GateWayMonitorListener implements ServletContextListener, ApplicationContextAware
设定两个线程,一个用来定期发送巡检短信;另一个定期执行三大运营商网关监控。
public static ScheduledExecutorService service = Executors.newScheduledThreadPool(2);
public void contextInitialized(ServletContextEvent event)
// 网关监测
GateWayMonitorListener.service.scheduleWithFixedDelay(new MonitorTask(), 60, MonitorConfigCache.lastPollingIntervalSecond, TimeUnit.SECONDS);
// 定时每天固定时间发送短信
GateWayMonitorListener.service.scheduleAtFixedRate(new EveryDaySmsTask(), calculateIntialDelay(), GateWayMonitorListener.ONE_DAY_IN_MILLISECONDS, TimeUnit.MILLISECONDS);
* 按新时间间隔重新设置定时任务。
* @param interval
public static synchronized void resetMonitorTaskInterval()
// 关闭老的线程池
GateWayMonitorListener.service.shutdownNow();
GateWayMonitorListener.service.awaitTermination(60, TimeUnit.SECONDS);
catch (InterruptedException e)
log.warn("InterruptedException when shutdown old threadPool", e);
catch (Exception e)
log.error("other exception when shutdown old threadPool", e);
GateWayMonitorListener.service = Executors.newScheduledThreadPool(2);
// 重新设置定时任务。
}没有列出的还有另一个类会定时重新加载定时任务的配置文件,如果配置文件修改了定时任务执行的时间设置,则重新配置定时任务,起到热加载配置文件的目的。也就是会调用resetMonitorTaskInterval()方法。二、 问题分析Tomcat一启动就报错RejectedExecutionException,(1)根据jdk描述何时回抛出这个异常:if the task cannot be scheduled for execution,只是说任务在不能被加入线程池时会抛出这个异常,不够明确。(2)进一步分析什么时候线程池不能加入线程来执行,如果不是线程池还未被初始化好,线程池已满且策略是超过的会被拒绝外,就是线程池被shutdown了。Tomcat一启动就报错,而且线程池是在最上面static的,那应该就是被shutdown了。查看是否有哪里调用shutdown方法了。(3)再分析,果然在另一个线程处会调用重新设置线程池的方法resetMonitorTaskInterval(),而且里面调用了shutdown。问题找到了,第一次读配置文件时就触发了重新设置定时任务。这是不行滴。。第一次只算是初始化,后面发现变更才应该重设线程池。但一定要控制同步,保证shutdown之后没有再往旧线程池中加入定时任务。三、 问题解决控制线程池的shutdown调用,调用后不能再往线程池里加入线程。
上一篇:下一篇:
File: 4:16:24}

我要回帖

更多关于 project 前置任务 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信