一.概述
如果项目中需要使用到定时任务来完成某些业务,一般有两种做法:定时任务依赖于项目;定时任务用批处理(windows执行)或者shell脚本(Linux)启动,不依赖于项目。
个人觉得,定时任务不依赖于项目的方式更优!独立执行,不会影响到应用的性能。
二.用jdbc连接数据库写业务
不能使用hibernate等高级方式,或者公司框架使用的高级工具。因为shell脚本不依赖于项目,独立执行的。
用jdbc写简单的增删改查业务的demo,具体可参考:http://blog.csdn.net/yanzi1225627/article/details/26950615
最后,把完成业务的类通过Eclipse导出成jar,用以shell调用。
三.批处理、shell脚本
bat文件:
.\jdk1.6.0\bin\java -Xms512m -Xmx512m -XX:NewRatio=3 -classpath .;./lib/mysql-connector-java-5.1.29.jar;./lib/match.jar com.test.web.Match
shell脚本:
/usr/java/jdk1.6.0_32/bin/java -Xms512m -Xmx512m -XX:NewRatio=3 -classpath ./match.jar:./mysql-connector-java-5.1.29.jar com.test.web.Match
其中,bat文件与shell脚本不同之处在于jdk所在路径不同
.\jdk1.6.0\bin 指定jdk路径
-Xms512m -Xmx512m -XX:NewRatio=3 配置跑当前脚本的内存
-classpath .;./lib/mysql-connector-java-5.1.29.jar;./lib/match.jar com.test.web.Match 跑当前脚本需要用到的jar,最后一个为自己编写且导出生成的jar。脚本会执行到Match.class的main方法
四.Eclipse导出jar流程
编译代码
定位到需要导出的Java文件
右键--export--选择导出类型为 JRE file --选择保存jar的路径--挑选main方法所在的Java文件--finish
详细操作指引可参考:http://www.cnblogs.com/lionden/archive/2013/03/10/2952604.html