以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定时任务中Cron表达式的具体用法,帮助开发者更好地理解和应用这些规则来设置定时任务。 #### 二、Cron 表达式解析 Cron表达式是Spring定时任务的核心,用于定义任务执行的时间规律。Cron表达式...
给定的压缩包可能包含了一个关于如何配置、使用和测试Spring定时任务的文档。这个文档应该详细介绍了每个步骤,包括如何在Spring环境中注册和启动定时任务,如何编写带有`@Scheduled`注解的方法,以及如何编写测试...
Spring定时任务是Spring框架中的一个强大特性,它允许开发者在应用程序中设置定时任务,以便在预定义的时间间隔执行特定的任务。这个功能对于实现自动化、批处理、数据同步、监控等多种业务场景非常有用。在本篇中,...
这个"spring定时任务示例程序"旨在演示如何在Spring环境中配置和使用定时任务。本示例使用了Quartz库,它是一个强大的、完全开源的作业调度框架,能够与Java应用程序无缝集成。 **一、Spring集成Quartz** Spring...
在本示例中,“Quartz+Spring定时触发器例子”是一个完整的项目,包含了所有必要的jar包,这意味着你可以直接运行它来学习和理解Quartz与Spring的集成。这个项目应该包含以下组件: 1. **配置文件**:可能包含一个...
标题 "spring2.0学习笔记+spring定时任务" 暗示了我们即将探讨的是关于Spring框架2.0版本的学习心得以及如何在Spring中配置和使用定时任务。在这个主题下,我们将深入理解Spring的核心概念,特别是它在企业级Java...
一个tomcat下部署了两个应用,一个是普通web应用syncc,另一个应用syncc_wx属于微信公众号后台程序涉及消息定时推送,tomcat未分离...”spring定时任务执行两次的异常排查处理.docx"针对上述描述问题进行分析和解决。
定时任务在软件开发中扮演着重要角色,它允许应用程序在预设的时间执行特定的任务,例如数据清理、日志归档或者发送通知。本文将深入探讨如何使用Spring XML配置来实现定时任务。 首先,我们需要引入Spring的Task...
下面我们将深入探讨Spring定时任务所需的相关jar包以及它们的功能。 首先,Spring框架的核心jar包`spring-context.jar`是必不可少的。这个jar包包含了Spring的核心功能,如依赖注入(Dependency Injection,DI)、...
在Spring框架中,定时任务是实现自动化...以上就是关于Spring定时任务`@Scheduled`的例子,包括其工作原理、配置以及在实际项目中的应用。理解并熟练运用这些知识,能够帮助我们构建更加高效、自动化的Spring应用程序。
总结,Spring定时任务为开发者提供了方便的API和注解,使我们可以轻松地在Java应用程序中设置和管理定时任务。通过以上步骤,你可以创建并运行一个简单的定时任务,进一步探索和实践将帮助你更好地理解和掌握Spring...
Spring定时任务是Spring框架中的一个强大特性,它允许开发者在应用程序中设置定时任务,以便在特定的时间点或按照预设的周期执行特定的业务逻辑。这个"spring定时任务demo包含jar包"提供了一个完整的示例,帮助我们...
对于Web应用程序来说,定时任务常常用于执行一些后台维护工作,如数据清理、统计报告生成等。 首先,我们要了解Spring 3.0中的定时任务是通过Spring的`Task`模块来实现的,这个模块提供了`org.springframework....
在IT行业中,Spring框架是Java开发中的一个核心工具,它为构建高质量的应用程序提供了全面的支持。在本项目中,我们关注的是Spring的一个特定功能——定时任务,以及如何结合这个功能来实现邮件的自动发送。这涉及到...
在Spring框架中,邮件服务和定时任务是两个非常重要的功能扩展。邮件服务允许开发者向用户发送电子邮件,而定时任务则可以实现程序的自动化执行,如数据同步、报表生成等。以下将详细介绍这两个方面。 首先,我们来...
在 "Quartz+spring定时任务demo" 中,我们首先需要了解如何配置和集成 Quartz 与 Spring。这通常包括以下步骤: 1. **引入依赖**:在项目中添加 Quartz 和 Spring 相关的 jar 包。描述中提到的 "1128266338845696....
1.使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行. 2.Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多.
使用这种方式整合Spring和Quartz后,我们可以灵活地管理各种复杂的定时任务,而无需在应用程序中硬编码时间相关的逻辑。这使得任务调度更加可维护和可扩展。 总结来说,这个资源为你提供了一个基础的Spring与Quartz...
本文详细介绍了如何在Spring3.2.6中配置线程池和定时任务,包括XML配置文件的具体设置以及程序类的实现。通过这种方式,可以有效地管理后台任务的执行,提高系统的并发处理能力。这种配置方式不仅适用于Spring3.2.6...
在IT行业中,定时任务是常见的一种需求,它允许程序在特定时间或按照一定周期自动执行某些操作,比如发送邮件、进行数据统计、更新系统状态、推送消息、开启活动或创建增量索引等。目前,主要有两种方式可以实现定时...