浏览 1795 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-11-17 关键字: 嵌在web app中的Quartz
两个多月前,在部署于远程服务器上的Tomcat中的web app中嵌入了Quartz,让它每周日00:00:00执行一个Job,生成一个报表并通过Email发送给指定的收件人.连续几个星期下来,一切正常.而且每次我重启Tomcat后,在log中都有关于Quartz的记录:
[code] ... Sep 13, 2007 2:26:23 AM org.apache.coyote.http11.Http11Protocol destroy INFO: Stopping Coyote HTTP/1.1 on http-8080 2007-09-13 02:26:23,872 DEBUG SimpleThreadPool:564 - WorkerThread is shutting down 2007-09-13 02:26:23,873 DEBUG SimpleThreadPool:564 - WorkerThread is shutting down 2007-09-13 02:26:23,873 DEBUG SimpleThreadPool:564 - WorkerThread is shutting down 2007-09-13 02:26:23,874 DEBUG SimpleThreadPool:564 - WorkerThread is shutting down 2007-09-13 02:26:23,874 DEBUG SimpleThreadPool:564 - WorkerThread is shutting down 2007-09-13 02:26:23,912 INFO ShutdownHookPlugin:133 - Shutting down Quartz... 2007-09-13 02:26:23,913 INFO ShutdownHookPlugin:133 - Shutting down Quartz... Sep 13, 2007 2:26:29 AM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Sep 13, 2007 2:26:29 AM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 863 ms Sep 13, 2007 2:26:30 AM org.apache.catalina.core.StandardService start INFO: Starting service Catalina ... 2007-09-13 02:26:32,483 DEBUG ConvertUtils:418 - Convert string '20' to class 'int' 2007-09-13 02:26:32,484 DEBUG ConvertUtils:426 - Using converter org.apache.commons.beanutils.converters.Integ erConverter@1ce85c4 2007-09-13 02:26:32,485 DEBUG ManagerBase:627 - Registering Catalina:type=Manager,path=/,host=localhost 2007-09-13 02:26:32,486 DEBUG ManagerBase:650 - Force random number initialization starting 2007-09-13 02:26:32,487 DEBUG ManagerBase:511 - Opening /dev/urandom 2007-09-13 02:26:32,488 DEBUG ManagerBase:322 - Getting message digest component for algorithm MD5 2007-09-13 02:26:32,489 DEBUG ManagerBase:336 - Completed getting message digest component 2007-09-13 02:26:32,491 DEBUG ManagerBase:339 - getDigest() 3 2007-09-13 02:26:32,492 DEBUG ManagerBase:653 - Force random number initialization completed 2007-09-13 02:26:32,493 DEBUG ManagerBase:359 - Start: Loading persisted sessions 2007-09-13 02:26:32,494 DEBUG ManagerBase:369 - Loading persisted sessions from SESSIONS.ser 2007-09-13 02:26:32,495 DEBUG ManagerBase:383 - Creating custom object input stream for class loader 2007-09-13 02:26:32,497 DEBUG ManagerBase:413 - Loading 4 persisted sessions 2007-09-13 02:26:32,508 DEBUG ManagerBase:460 - Finish: Loading persisted sessions 2007-09-13 02:26:32,642 INFO QuartzScheduler:209 - Quartz Scheduler v.1.6.0 created. 2007-09-13 02:26:32,647 INFO JobInitializationPlugin:280 - Registering Quartz Job Initialization Plug-in. 2007-09-13 02:26:32,650 INFO ShutdownHookPlugin:128 - Registering Quartz shutdown hook. 2007-09-13 02:26:32,652 INFO RAMJobStore:141 - RAMJobStore initialized. 2007-09-13 02:26:32,653 INFO StdSchedulerFactory:1208 - Quartz scheduler 'TestScheduler' initialized from defau lt resource file in Quartz package: 'quartz.properties' 2007-09-13 02:26:32,654 INFO StdSchedulerFactory:1212 - Quartz scheduler version: 1.6.0 ... [/code] 可是最近发现Job没有执行,而且启动日志中也没有上述信息了(Tomcat会经常被我重启). 更奇怪的是,本地的开发环境中Job可以正常执行,log中也有记录.代码和配置我都比较过,完全一致. 我试着在web.xml中把QuartzInitializer的启动延迟 <servlet> < [/code] 本地仍然可以,可是远程还是不行. 难道是我重启远程Tomcat的次数太多,导致Quartz启动不了了? 可是关闭Tomcat的时候Quartz会做清理工作的呀: [code] INFO: Stopping Coyote HTTP/1.1 on http-8080 2007-09-14 03:45:24,186 INFO ShutdownHookPlugin:133 - Shutting down Quartz... ... [/code] 有没有人遇到过类似的问题啊? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-09-26
Quartz的定时任务其实还是执行了(报表在每个周日零点成功生成并通过email发送),奇怪的就是以前在log中有记录,现在没有了(让我误以为Quartz歇菜了).
1. 我并没有修改log4j.properties.所以log4j对此事故完全没有责任. 2. 本地开发环境中log中一直有Quartz的记录. 3. 在本地开发环境调试时,每次跑到Quartz的log.info...时,会报log为null!不调试的话一切正常.Quartz太奇怪了. 4. 没办法,只好把自己的Task类代码中的log.info换成System.out.println, 才能让log记录执行任务的操作. 5. 似乎与Quartz相关的代码中log.info/warn/error/debug都不能输出到log. |
|
| 返回顶楼 | |
|
最后更新时间:2007-09-26
是不是包冲突了?
|
|
| 返回顶楼 | |
|
最后更新时间:2007-09-27
我一开始怀疑可能多个jar包中都有log4j.properties或log4j.xml
但是不明白的是,我开发环境和生产环境配置是一样的,最近没有更新配置,开发环境一直有Quartz的启动和关闭的log和Task执行的log,生产环境为什么突然没Quartz的log了呢? 不知道是去log4j还是去Quartz提FAQ... 既然定时任务正常执行了,只是没有log而已,这件事就先撂下了... 美国那边的Eric是个Linux高手,他建议我不要用Quartz,用at 或 crontab. 引用 On Thu, 20 Sep 2007 18:46:36 +0800 "Sam Chen" wrote: > I met a very funny problem: Quartz doesn't start up > now (I embedded Quartz into CTMS, to execute > scheduled tasks, and it was working quite > well during the past months) Why aren't you using at(1) or crontab(1) for scheduled tasks? They are built into the OS and bullet proof. They are what I use for all system automation. 可是要让Java EE的web app和Linux交互,貌似有点麻烦. 这不是简单的让Linux的定时系统去执行一个"say hello"之类的任务,而是要在预设的时刻让web app做两件事情:生成报表 + 发送邮件. 利用at或crontab什么的调用Java类的某个方法? Is that possible? |
|
| 返回顶楼 | |
|
最后更新时间:2007-09-27
sam.ds.chen 写道 我一开始怀疑可能多个jar包中都有log4j.properties或log4j.xml
但是不明白的是,我开发环境和生产环境配置是一样的,最近没有更新配置,开发环境一直有Quartz的启动和关闭的log和Task执行的log,生产环境为什么突然没Quartz的log了呢? 不知道是去log4j还是去Quartz提FAQ... 既然定时任务正常执行了,只是没有log而已,这件事就先撂下了... 美国那边的Eric是个Linux高手,他建议我不要用Quartz,用at 或 crontab. 引用 On Thu, 20 Sep 2007 18:46:36 +0800 "Sam Chen" wrote: > I met a very funny problem: Quartz doesn't start up > now (I embedded Quartz into CTMS, to execute > scheduled tasks, and it was working quite > well during the past months) Why aren't you using at(1) or crontab(1) for scheduled tasks? They are built into the OS and bullet proof. They are what I use for all system automation. 可是要让Java EE的web app和Linux交互,貌似有点麻烦. 这不是简单的让Linux的定时系统去执行一个"say hello"之类的任务,而是要在预设的时刻让web app做两件事情:生成报表 + 发送邮件. 利用at或crontab什么的调用Java类的某个方法? Is that possible? 最大的可能还是包冲突,特别是外部环境配置。比如OS下的classpath参数或者诸如此类的问题。 难道你就不能在生产环境下调试么? 用at或者cront不是个好办法,linux管理员和java开发人员的想法总是不一样的。 |
|
| 返回顶楼 | |
|
最后更新时间:2007-09-27
On Fri, 27 Sep 2007 14:35:36 +0800 "pikachu" wrote:
> 难道你就不能在生产环境下调试么? 根本不可能.production的server在美国,我能做的只是在上海"cvs commit",然后用puTTy登陆到那台服务器,执行"cvs update","ant","shutdown.sh","startup.sh"而已. |
|
| 返回顶楼 | |
|
最后更新时间:2007-11-03
请问一下,为什莫我修改了linux的系统时间以后,webapp的Quartz定时任务就不起作用了呢(生成报表),任务失效了,必须重新启动tomcat才能起作用
windows环境是没有问题的,大家谁遇到过这种情况 |
|
| 返回顶楼 | |
|
最后更新时间:2007-11-04
1,看一下你的quartz版本,common-log版本是否符合啊
2,看看你的buildpath中是否有重复的包 |
|
| 返回顶楼 | |
|
最后更新时间:2007-11-04
1,看看的buildpath中是否有重复的包
2,quartz的版本 |
|
| 返回顶楼 | |
|
最后更新时间:2007-11-04
e3002 写道 1,看看的buildpath中是否有重复的包
2,quartz的版本 帮看看我的那个问题是啥原因呢,谢谢 |
|
| 返回顶楼 | |







