java 定时器在windows 中能运行 但在 linux 中不能运行
本帖最后由 JackieLiuLixi 于 2013-11-21 09:20:57 编辑
我在JEE 项目中用 jdk 自带的 TimerTask 写了个定时器。让代码在每天的 0:20 能自动生成 csv 文件,然后把 csv 文件上传到 ftp中。该定时器在 windows 测试环境下能够正常运行,但是将系统部署到红帽 linux 环境后,就不执行了。求指点。
------解决方案--------------------1. 有报错信息否?
2. Linux系统的时间与windows时间是否一致?
3. java环境配置是否正常,使用的服务器是什么,是否配置正确。
可以排查下。
------解决方案--------------------那除了定时器的代码,其他代码有写日志吗?
如果没有那就是你整个都没执行和定时器没关系。你最好看下启动日志
------解决方案--------------------还有你生成csv的路径会不会有问题,如果绝对路径会有问题
------解决方案--------------------
如果方便的话,把相关代码贴出来看看?
或者可以考虑在定时器处理类(或者定时器调度类)关键步骤处,打印些日志,跟踪下到底是为什么没执行。
------解决方案--------------------linux下jdk版本有可能有问题。
------解决方案--------------------先不要输出文件 先在定时器里面打印语句看看能不能打印出来
然后看看csv输出的路径名是否正确
然后看看是否有权限读写文件
然后看看是不是有隐藏文件
------解决方案--------------------tomcat是否启动成功!
jdk有没有问题
java能跨平台 windows跟liunx没区别
我们现在的定时任务都能跑
不过是用的spring集成的quartz