前言
本篇涉及到了spring的定时任务,并配有线程池,最后以优雅的方式关闭(ShutdownHook方式)。在这里分享一下项目的关键部分。
流程
---->log4j配置
---->spring定时任务的配置:spring定时相关jar包,serverCtx.xml中配置TimerFactoryBean、ScheduledTimerTask、ThreadPoolTaskExecutor、timerTask等bean
---->java GUI修改配置文件:
---->3DES_Tool校验
---->Linux检测CPU
收获(遇到的坑)
1、在Windows下编写的shell脚本,在Linux环境下出错。(参考:shell编程报错:“syntax error near unexpected token `”)其中的vi -b filename.sh代表
更方便的使用Linux自带的命令,(参考:第十章、vim 程式編輯器 章节:DOS 與 Linux 的斷行字元)
下图是鸟哥博客中讲到DOS和Linux转换文件的一幅图,
2、Linux下运行jar。(参考:如何在Linux运行.jar形式的Java程序
linux 通过脚本执行java程序)
3、在Linux上运行程序,想要检测其消耗CPU的方法。(参考:Linux 性能监测:CPU)
4、校验DES,3DES加密的工具,详情见最佳实践
最佳实践
1、3DES_Tool.exe 工具的下载
2、java GUI修改配置文件工具下载
3、ShutdownHook
// /////////////////////////////////////////////////////////////////////////// // start shutdownHook // /////////////////////////////////////////////////////////////////////////// final ShutdownHook sh = new ShutdownHook(service, bizPool, timer); Runtime.getRuntime().addShutdownHook( new Thread(sh, ShutdownHook.class.getSimpleName()));
参考文献
[1].25+ uSEFUL LINUX AND UNIX CHEAT SHEETS
[2].Linux命令行与高级技术专家的缠绵
[3].Linux计划任务——cron服务
[4].Linux命令行与高级技术专家的缠绵:听抚琴煮酒写的,非常喜欢介绍Crontab的来历,这样印象比较深刻
[5].第十六章、例行性工作排程 (crontab)
[6].linux定时运行命令脚本——crontab:博主的另一个博客也很不错哦! IT-Homer