以Java Application的形式在本地开发环境运行定时程序:
PropertyConfigurator.configure(ScheduleQuartz.class.getClassLoader().getResource("config/log4j.properties"));
ContextManager.setContext(new ClassPathXmlApplicationContext("/config/applicationContext.xml"));
将以上代码置于main方法里即可,假设为com.liaofeng.ScheduleQuartz类的main方法。
上面只是启动应用程序,但定时程序做为Bean配置在Spring的配置文件applicationContext.xml里面:
<bean id="placeOrderJobBean" class="com.liaofeng.quartz.PlaceOrder">
<property name="placeOrderFace" ref="placeOrderFace"/>
</bean>
<bean id="qplaceOrderJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="placeOrderJobBean"/>
<property name="targetMethod" value="run"/>
<property name="concurrent" value="false"/>
</bean>
<bean id="placeOrderTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="qplaceOrderJob"/>
</property>
<property name="cronExpression">
<value>0 0/5 01-23 * * ?</value>
</property>
</bean>
这样,类com.liaofeng.quartz.PlaceOrder里的run()方法将从1点开始,每5分钟运行一次。
在Linux/Unix下部署此定时程序,假设目录结构如下:
placeOrder
|--config
|--lib
|--run.sh
config目录用于放置配置文件,比如log4j.properties和applicationContext.xml,lib下面则放置依赖的Jar包。一般,我们将上面的应用程序打包,放置在lib目录下。run.sh文件则用于启动定时程序。一般情况下我们使用java命令直接启动定时程序,但在程序依赖很多jar包的情况下,指定java命令的classpath参数就显得相当麻烦,这是我们可以使用shell脚本来完成这个工作,代替我们启动Java程序:
jarpath=""
for _FNAME in /appDir/placeOrder/lib/*.jar
do
jarpath=$jarpath:$_FNAME
done
CLASSPATH=$CLASSPATH:$jarpath
export CLASSPATH
echo -n $CLASSPATH
export PATH=/opt/java1.5/bin:$PATH
java -Xms128m -Xmx256m -XX:+UseGetTimeOfDay -classpath $CLASSPATH com.liaofeng.ScheduleQuartz &
exit 0
注意java com.liaofeng.ScheduleQuartz &,这里以&结尾,防止程序运行完一次后就退出,有了&就是一直运行。但因为这个&的存在,第一次启动的时候即使报错,在命令行里也可能不打印启动时的错误信息,所以建议第一次运行时不带该&,等程序调试通过了再加上&。
分享到:
相关推荐
很不错,spring定时器中的时间用法,
spring自带定时任务程序,其中包括定时任务配置的xml文件、定时任务测试类和定时任务说明文档,仅供大家参考使用。
spring定时任务的一个简单示例程序,包括需要引入的jar包,eclipse源代码直接压缩的,解压导入到自己的eclipse中即可,本人所用的是eclipseJ2EE版本
一个tomcat下部署了两个应用,一个是普通web应用syncc,另一个应用syncc_wx属于微信公众号后台程序涉及消息定时推送,tomcat未分离...”spring定时任务执行两次的异常排查处理.docx"针对上述描述问题进行分析和解决。
1.使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行. 2.Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多.
可以通过quartz和spring的简单配置即可完成,但如果要改变任务的执行时间、频率,废弃任务等就需要改变配置甚至代码需要重启服务器,这里介绍一下如何通过quartz与spring的组合实现动态的改变定时任务的状态的一个...
spring3.2.4+quartz2.2.0 定时调度例子,能正常运行的程序
如果你的程序里需要定制 定时任务的话不妨下载回去看看,保证会有收获。
springcloud-app 是J2EE集群分布式基础开发平台,技术栈包括:springCloud、MyBatis、Shiro、redis、quartz、hibernate-validation、easyui,业务模块包括:用户管理,角色管理、权限管理,字典管理,定时任务。
Spring Boot 配置 Quartz 定时任务(csdn)————程序
我自己从pro spring书上修改过来的发邮件程序,在配置文件... 此邮件程序还有定时功能,到你定的时刻后它就开始发邮件,发邮件还有个发送周期,即隔多少时间发送一封。 此附件中含有源代码。可以自己修改
4、定时自动运行任务(在数据库中设置好定时时间,及运行的程序,及参数) 5、C#定时调度任务服务(Quartz.net做为任务调度核心,利用Log4Net做为日志输出,C#完成WINDOWS服务在后台定时执行任务) 6、android 后台...
定时运行(spring+quartz),可以让程序实现定时调用某个方法
spring 2.0中文参考手册 ,有spring的详细介绍包括很实用的定时程序和RMI远程调用程序。
概要:本文介绍如何使用 Spring Boot 3.X 和 WebSocket 实现消息推送,并动态开启、关闭和取消定时任务。通过WebSocket实现实时通信,结合定时任务管理,可实现灵活的消息推送和任务控制。 使用人群:适合有Spring ...
包括快速入门、工程配置、Web开发、数据访问、事务管理、@Scheduled创建定时任务、@Async实现异步调用、日志管理、安全管理、缓存支持、邮件发送、消息服务、Dubbo进行服务治理等
NULL 博文链接:https://dolphin-ygj.iteye.com/blog/368874
Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器...
基于SpringCloud微服务、分布式架构,更易扩展;项目前后端分离,后端使用JAVA,前端VUE,Uni-app框架;MySQL、Redis多种数据存储方式,只为更快;ActiveMq订阅消息队列,让订单更快流转。 二、项目应用多端 管理...
* Spring Context:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等); * Spring AOP:AOP服务; * Spring DAO:对JDBC的抽象,简化了数据访问异常的处理; * Spring ORM:对现有的ORM框架的支持; * ...