- 浏览: 124901 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
ssy8110:
[color=orange][/color]
Drools规则引擎初学入门实例HelloWorld -
路小尘:
mark
java 浮点数表示详解 -
yujian58:
写的很棒。
spring log4j -
wolf9s:
很好,学习了。非常感谢!
java 编译路径以及运行路径 -
suie2009_:
文章不错,但转载请指明出处,
java volatile关键字
方法一:
1.quartz_job.xml文件配置:
Java代码
<?xml version="1.0" encoding="UTF-8"?>
<quartz version="1.5">
<job>
<job-detail>
<name>assess.HastenJob</name>
<group>taskGroup</group>
<job-class>com.aspire.simp.app.assess.common.job.AssessHastenJob</job-class>
<volatility>false</volatility>
<durability>false</durability>
<recover>false</recover>
<job-data-map allows-transient-data="true">
<entry>
<key>serviceName</key>
<value>assess.HastenJob</value>
</entry>
</job-data-map>
</job-detail>
<trigger>
<cron>
<name>AssessHastenJobTrigger</name>
<group>triggerGroup</group>
<job-name>assess.HastenJob</job-name>
<job-group>taskGroup</job-group>
<cron-expression>1/20 * * * * ?</cron-expression>
</cron>
</trigger>
</job>
</quartz>
<?xml version="1.0" encoding="UTF-8"?>
<quartz version="1.5">
<job>
<job-detail>
<name>assess.HastenJob</name>
<group>taskGroup</group>
<job-class>com.aspire.simp.app.assess.common.job.AssessHastenJob</job-class>
<volatility>false</volatility>
<durability>false</durability>
<recover>false</recover>
<job-data-map allows-transient-data="true">
<entry>
<key>serviceName</key>
<value>assess.HastenJob</value>
</entry>
</job-data-map>
</job-detail>
<trigger>
<cron>
<name>AssessHastenJobTrigger</name>
<group>triggerGroup</group>
<job-name>assess.HastenJob</job-name>
<job-group>taskGroup</job-group>
<cron-expression>1/20 * * * * ?</cron-expression>
</cron>
</trigger>
</job>
</quartz>
2.quartz.properties配置
Java代码
#
# Configure Main Scheduler Properties
#
org.quartz.scheduler.instanceName = AssessScheduler
org.quartz.scheduler.instanceId = one
#
# Configure ThreadPool
#
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 120
org.quartz.threadPool.threadPriority = 8
#
# Configure JobStore
#
org.quartz.jobStore.misfireThreshold = 5000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
# ===========================================================================
# Configure SchedulerPlugins ===============================================
# ===========================================================================
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = quartz_jobs.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 50
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true
#
# Configure Main Scheduler Properties
#
org.quartz.scheduler.instanceName = AssessScheduler
org.quartz.scheduler.instanceId = one
#
# Configure ThreadPool
#
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 120
org.quartz.threadPool.threadPriority = 8
#
# Configure JobStore
#
org.quartz.jobStore.misfireThreshold = 5000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
# ===========================================================================
# Configure SchedulerPlugins ===============================================
# ===========================================================================
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = quartz_jobs.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 50
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true
3.JAVA类
Java代码
public class AssessHastenJob implements Job
{
private static Log logger = LogFactory.getLog(AssessHastenJob.class);
private AssessConfigManager assessConfigManager = null;
private SimsConfigBiz simsConfigBiz = null;
public void execute(JobExecutionContext arg0) throws JobExecutionException
{
SimsConfigBiz simsConfigBiz = (SimsConfigBiz)BeanLocator.getInstance().getBean("simsConfigBiz");
AssessConfigManager assessConfigManager =(AssessConfigManager) BeanLocator.getInstance().getBean("assessConfigManager");
}
}
public class AssessHastenJob implements Job
{
private static Log logger = LogFactory.getLog(AssessHastenJob.class);
private AssessConfigManager assessConfigManager = null;
private SimsConfigBiz simsConfigBiz = null;
public void execute(JobExecutionContext arg0) throws JobExecutionException
{
SimsConfigBiz simsConfigBiz = (SimsConfigBiz)BeanLocator.getInstance().getBean("simsConfigBiz");
AssessConfigManager assessConfigManager =(AssessConfigManager) BeanLocator.getInstance().getBean("assessConfigManager");
}
}
4.系统初始化类
Java代码
/**
* 初始化quartz配置(quartz配置文件目录等).
*/
public void initQuartz() {
// 初始化quartz配置(quartz配置文件目录等).
// 从init-param中得到quartz.properties配置文件相对路径.
String quartzConfig = this.getInitParameter("quartzConfig");
if (quartzConfig == null || quartzConfig.length() == 0) {
logger.info("没有指定quartz配置文件相对路径!");
return;
}
// 得到quartz配置文件全路径名
String quartzConfigFileName = ConfigurationHelper
.getFullFileName(quartzConfig);
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(quartzConfigFileName);
} catch (FileNotFoundException e) {
logger.error("找不到quartz配置文件,文件名:" + quartzConfigFileName);
return;
}
// 得到quartz配置文件的目录
String quartzConfigPath = StringUtils.substringBeforeLast(
quartzConfigFileName, "/");
// 加载配置文件
Properties properties = new Properties();
try {
properties.load(fileInputStream);
// 设置quartz_jobs.xml路径
properties.setProperty("org.quartz.plugin.jobInitializer.fileName",
quartzConfigPath + File.separator + "quartz_jobs.xml");
} catch (IOException e) {
logger.error("加载quartz配置文件失败,文件名:" + quartzConfigFileName);
return;
}
// 启动quartz
StdSchedulerFactory factory = null;
try {
factory = new StdSchedulerFactory(properties);
} catch (SchedulerException e) {
logger.error("初始化quartz失败,失败原因:" + e.getMessage());
return;
}
// 启动quartz任务调度器
try {
scheduler = factory.getScheduler();
scheduler.start();
} catch (SchedulerException e) {
logger.error("启动quartz任务调度失败,失败原因:" + e.getMessage());
return;
}
logger.info("启动quartz任务调度成功!");
}
/**
* 初始化quartz配置(quartz配置文件目录等).
*/
public void initQuartz() {
// 初始化quartz配置(quartz配置文件目录等).
// 从init-param中得到quartz.properties配置文件相对路径.
String quartzConfig = this.getInitParameter("quartzConfig");
if (quartzConfig == null || quartzConfig.length() == 0) {
logger.info("没有指定quartz配置文件相对路径!");
return;
}
// 得到quartz配置文件全路径名
String quartzConfigFileName = ConfigurationHelper
.getFullFileName(quartzConfig);
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(quartzConfigFileName);
} catch (FileNotFoundException e) {
logger.error("找不到quartz配置文件,文件名:" + quartzConfigFileName);
return;
}
// 得到quartz配置文件的目录
String quartzConfigPath = StringUtils.substringBeforeLast(
quartzConfigFileName, "/");
// 加载配置文件
Properties properties = new Properties();
try {
properties.load(fileInputStream);
// 设置quartz_jobs.xml路径
properties.setProperty("org.quartz.plugin.jobInitializer.fileName",
quartzConfigPath + File.separator + "quartz_jobs.xml");
} catch (IOException e) {
logger.error("加载quartz配置文件失败,文件名:" + quartzConfigFileName);
return;
}
// 启动quartz
StdSchedulerFactory factory = null;
try {
factory = new StdSchedulerFactory(properties);
} catch (SchedulerException e) {
logger.error("初始化quartz失败,失败原因:" + e.getMessage());
return;
}
// 启动quartz任务调度器
try {
scheduler = factory.getScheduler();
scheduler.start();
} catch (SchedulerException e) {
logger.error("启动quartz任务调度失败,失败原因:" + e.getMessage());
return;
}
logger.info("启动quartz任务调度成功!");
}
5.web.xml
Java代码
<servlet>
<servlet-name>defaultSystemInit</servlet-name>
<servlet-class>com.aspire.simp.app.common.servlet.DefaultSystemInitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<!--log4j配置文件相对路径(子系统必须要配置log4j)-->
<param-name>log4jConfig</param-name>
<param-value>log4j/log4j.xml</param-value>
</init-param>
<init-param>
<!--attachment配置文件相对路径(如果子系统需要附件上载才需要配置)-->
<param-name>quartzConfig</param-name>
<param-value>quartz/quartz.properties</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>defaultSystemInit</servlet-name>
<servlet-class>com.aspire.simp.app.common.servlet.DefaultSystemInitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<!--log4j配置文件相对路径(子系统必须要配置log4j)-->
<param-name>log4jConfig</param-name>
<param-value>log4j/log4j.xml</param-value>
</init-param>
<init-param>
<!--attachment配置文件相对路径(如果子系统需要附件上载才需要配置)-->
<param-name>quartzConfig</param-name>
<param-value>quartz/quartz.properties</param-value>
</init-param>
</servlet>
方法二:
1.spring 配置文件加下面这段就行了
Java代码
<!-- 定时服务定义 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!-- 自动启动 -->
<property name="autoStartup">
<value>true</value>
</property>
<property name="triggers">
<list>
<ref local="assessHastenTaskTrigger"/>
</list>
</property>
</bean>
<!-- 定时器定义 -->
<bean id="assessHastenTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="assessHastenJobDetail"/>
</property>
<property name="cronExpression">
<!-- 每20分钟运行一次 -->
<value>0 1/20 * * * ?</value>
</property>
</bean>
<!-- JobDetail定义 -->
<bean id="assessHastenJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject"><ref bean="assessHastenJob"/></property>
<property name="targetMethod"><value>execute</value></property>
<property name="concurrent" value="false"/>
</bean>
<!-- Job定义 -->
<bean id="assessHastenJob" class="com.aspire.simp.app.assess.common.job.AssessHastenJob">
<property name="assessConfigManager" ref="assessConfigManager"/>
<property name="simsConfigBiz" ref="simsConfigBiz"/>
</bean>
<!-- 定时服务定义 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!-- 自动启动 -->
<property name="autoStartup">
<value>true</value>
</property>
<property name="triggers">
<list>
<ref local="assessHastenTaskTrigger"/>
</list>
</property>
</bean>
<!-- 定时器定义 -->
<bean id="assessHastenTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="assessHastenJobDetail"/>
</property>
<property name="cronExpression">
<!-- 每20分钟运行一次 -->
<value>0 1/20 * * * ?</value>
</property>
</bean>
<!-- JobDetail定义 -->
<bean id="assessHastenJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject"><ref bean="assessHastenJob"/></property>
<property name="targetMethod"><value>execute</value></property>
<property name="concurrent" value="false"/>
</bean>
<!-- Job定义 -->
<bean id="assessHastenJob" class="com.aspire.simp.app.assess.common.job.AssessHastenJob">
<property name="assessConfigManager" ref="assessConfigManager"/>
<property name="simsConfigBiz" ref="simsConfigBiz"/>
</bean>
2.JAVA类
Java代码
public class AssessHastenJob
{
private static Log logger = LogFactory.getLog(AssessHastenJob.class);
private AssessConfigManager assessConfigManager = null;
private SimsConfigBiz simsConfigBiz = null;
public void execute()
{
}
public void setAssessConfigManager(AssessConfigManager assessConfigManager)
{
this.assessConfigManager = assessConfigManager;
}
public void setSimsConfigBiz(SimsConfigBiz simsConfigBiz)
{
this.simsConfigBiz = simsConfigBiz;
}
}
1.quartz_job.xml文件配置:
Java代码
<?xml version="1.0" encoding="UTF-8"?>
<quartz version="1.5">
<job>
<job-detail>
<name>assess.HastenJob</name>
<group>taskGroup</group>
<job-class>com.aspire.simp.app.assess.common.job.AssessHastenJob</job-class>
<volatility>false</volatility>
<durability>false</durability>
<recover>false</recover>
<job-data-map allows-transient-data="true">
<entry>
<key>serviceName</key>
<value>assess.HastenJob</value>
</entry>
</job-data-map>
</job-detail>
<trigger>
<cron>
<name>AssessHastenJobTrigger</name>
<group>triggerGroup</group>
<job-name>assess.HastenJob</job-name>
<job-group>taskGroup</job-group>
<cron-expression>1/20 * * * * ?</cron-expression>
</cron>
</trigger>
</job>
</quartz>
<?xml version="1.0" encoding="UTF-8"?>
<quartz version="1.5">
<job>
<job-detail>
<name>assess.HastenJob</name>
<group>taskGroup</group>
<job-class>com.aspire.simp.app.assess.common.job.AssessHastenJob</job-class>
<volatility>false</volatility>
<durability>false</durability>
<recover>false</recover>
<job-data-map allows-transient-data="true">
<entry>
<key>serviceName</key>
<value>assess.HastenJob</value>
</entry>
</job-data-map>
</job-detail>
<trigger>
<cron>
<name>AssessHastenJobTrigger</name>
<group>triggerGroup</group>
<job-name>assess.HastenJob</job-name>
<job-group>taskGroup</job-group>
<cron-expression>1/20 * * * * ?</cron-expression>
</cron>
</trigger>
</job>
</quartz>
2.quartz.properties配置
Java代码
#
# Configure Main Scheduler Properties
#
org.quartz.scheduler.instanceName = AssessScheduler
org.quartz.scheduler.instanceId = one
#
# Configure ThreadPool
#
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 120
org.quartz.threadPool.threadPriority = 8
#
# Configure JobStore
#
org.quartz.jobStore.misfireThreshold = 5000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
# ===========================================================================
# Configure SchedulerPlugins ===============================================
# ===========================================================================
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = quartz_jobs.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 50
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true
#
# Configure Main Scheduler Properties
#
org.quartz.scheduler.instanceName = AssessScheduler
org.quartz.scheduler.instanceId = one
#
# Configure ThreadPool
#
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 120
org.quartz.threadPool.threadPriority = 8
#
# Configure JobStore
#
org.quartz.jobStore.misfireThreshold = 5000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
# ===========================================================================
# Configure SchedulerPlugins ===============================================
# ===========================================================================
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = quartz_jobs.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 50
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true
3.JAVA类
Java代码
public class AssessHastenJob implements Job
{
private static Log logger = LogFactory.getLog(AssessHastenJob.class);
private AssessConfigManager assessConfigManager = null;
private SimsConfigBiz simsConfigBiz = null;
public void execute(JobExecutionContext arg0) throws JobExecutionException
{
SimsConfigBiz simsConfigBiz = (SimsConfigBiz)BeanLocator.getInstance().getBean("simsConfigBiz");
AssessConfigManager assessConfigManager =(AssessConfigManager) BeanLocator.getInstance().getBean("assessConfigManager");
}
}
public class AssessHastenJob implements Job
{
private static Log logger = LogFactory.getLog(AssessHastenJob.class);
private AssessConfigManager assessConfigManager = null;
private SimsConfigBiz simsConfigBiz = null;
public void execute(JobExecutionContext arg0) throws JobExecutionException
{
SimsConfigBiz simsConfigBiz = (SimsConfigBiz)BeanLocator.getInstance().getBean("simsConfigBiz");
AssessConfigManager assessConfigManager =(AssessConfigManager) BeanLocator.getInstance().getBean("assessConfigManager");
}
}
4.系统初始化类
Java代码
/**
* 初始化quartz配置(quartz配置文件目录等).
*/
public void initQuartz() {
// 初始化quartz配置(quartz配置文件目录等).
// 从init-param中得到quartz.properties配置文件相对路径.
String quartzConfig = this.getInitParameter("quartzConfig");
if (quartzConfig == null || quartzConfig.length() == 0) {
logger.info("没有指定quartz配置文件相对路径!");
return;
}
// 得到quartz配置文件全路径名
String quartzConfigFileName = ConfigurationHelper
.getFullFileName(quartzConfig);
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(quartzConfigFileName);
} catch (FileNotFoundException e) {
logger.error("找不到quartz配置文件,文件名:" + quartzConfigFileName);
return;
}
// 得到quartz配置文件的目录
String quartzConfigPath = StringUtils.substringBeforeLast(
quartzConfigFileName, "/");
// 加载配置文件
Properties properties = new Properties();
try {
properties.load(fileInputStream);
// 设置quartz_jobs.xml路径
properties.setProperty("org.quartz.plugin.jobInitializer.fileName",
quartzConfigPath + File.separator + "quartz_jobs.xml");
} catch (IOException e) {
logger.error("加载quartz配置文件失败,文件名:" + quartzConfigFileName);
return;
}
// 启动quartz
StdSchedulerFactory factory = null;
try {
factory = new StdSchedulerFactory(properties);
} catch (SchedulerException e) {
logger.error("初始化quartz失败,失败原因:" + e.getMessage());
return;
}
// 启动quartz任务调度器
try {
scheduler = factory.getScheduler();
scheduler.start();
} catch (SchedulerException e) {
logger.error("启动quartz任务调度失败,失败原因:" + e.getMessage());
return;
}
logger.info("启动quartz任务调度成功!");
}
/**
* 初始化quartz配置(quartz配置文件目录等).
*/
public void initQuartz() {
// 初始化quartz配置(quartz配置文件目录等).
// 从init-param中得到quartz.properties配置文件相对路径.
String quartzConfig = this.getInitParameter("quartzConfig");
if (quartzConfig == null || quartzConfig.length() == 0) {
logger.info("没有指定quartz配置文件相对路径!");
return;
}
// 得到quartz配置文件全路径名
String quartzConfigFileName = ConfigurationHelper
.getFullFileName(quartzConfig);
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(quartzConfigFileName);
} catch (FileNotFoundException e) {
logger.error("找不到quartz配置文件,文件名:" + quartzConfigFileName);
return;
}
// 得到quartz配置文件的目录
String quartzConfigPath = StringUtils.substringBeforeLast(
quartzConfigFileName, "/");
// 加载配置文件
Properties properties = new Properties();
try {
properties.load(fileInputStream);
// 设置quartz_jobs.xml路径
properties.setProperty("org.quartz.plugin.jobInitializer.fileName",
quartzConfigPath + File.separator + "quartz_jobs.xml");
} catch (IOException e) {
logger.error("加载quartz配置文件失败,文件名:" + quartzConfigFileName);
return;
}
// 启动quartz
StdSchedulerFactory factory = null;
try {
factory = new StdSchedulerFactory(properties);
} catch (SchedulerException e) {
logger.error("初始化quartz失败,失败原因:" + e.getMessage());
return;
}
// 启动quartz任务调度器
try {
scheduler = factory.getScheduler();
scheduler.start();
} catch (SchedulerException e) {
logger.error("启动quartz任务调度失败,失败原因:" + e.getMessage());
return;
}
logger.info("启动quartz任务调度成功!");
}
5.web.xml
Java代码
<servlet>
<servlet-name>defaultSystemInit</servlet-name>
<servlet-class>com.aspire.simp.app.common.servlet.DefaultSystemInitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<!--log4j配置文件相对路径(子系统必须要配置log4j)-->
<param-name>log4jConfig</param-name>
<param-value>log4j/log4j.xml</param-value>
</init-param>
<init-param>
<!--attachment配置文件相对路径(如果子系统需要附件上载才需要配置)-->
<param-name>quartzConfig</param-name>
<param-value>quartz/quartz.properties</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>defaultSystemInit</servlet-name>
<servlet-class>com.aspire.simp.app.common.servlet.DefaultSystemInitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<!--log4j配置文件相对路径(子系统必须要配置log4j)-->
<param-name>log4jConfig</param-name>
<param-value>log4j/log4j.xml</param-value>
</init-param>
<init-param>
<!--attachment配置文件相对路径(如果子系统需要附件上载才需要配置)-->
<param-name>quartzConfig</param-name>
<param-value>quartz/quartz.properties</param-value>
</init-param>
</servlet>
方法二:
1.spring 配置文件加下面这段就行了
Java代码
<!-- 定时服务定义 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!-- 自动启动 -->
<property name="autoStartup">
<value>true</value>
</property>
<property name="triggers">
<list>
<ref local="assessHastenTaskTrigger"/>
</list>
</property>
</bean>
<!-- 定时器定义 -->
<bean id="assessHastenTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="assessHastenJobDetail"/>
</property>
<property name="cronExpression">
<!-- 每20分钟运行一次 -->
<value>0 1/20 * * * ?</value>
</property>
</bean>
<!-- JobDetail定义 -->
<bean id="assessHastenJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject"><ref bean="assessHastenJob"/></property>
<property name="targetMethod"><value>execute</value></property>
<property name="concurrent" value="false"/>
</bean>
<!-- Job定义 -->
<bean id="assessHastenJob" class="com.aspire.simp.app.assess.common.job.AssessHastenJob">
<property name="assessConfigManager" ref="assessConfigManager"/>
<property name="simsConfigBiz" ref="simsConfigBiz"/>
</bean>
<!-- 定时服务定义 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!-- 自动启动 -->
<property name="autoStartup">
<value>true</value>
</property>
<property name="triggers">
<list>
<ref local="assessHastenTaskTrigger"/>
</list>
</property>
</bean>
<!-- 定时器定义 -->
<bean id="assessHastenTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="assessHastenJobDetail"/>
</property>
<property name="cronExpression">
<!-- 每20分钟运行一次 -->
<value>0 1/20 * * * ?</value>
</property>
</bean>
<!-- JobDetail定义 -->
<bean id="assessHastenJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject"><ref bean="assessHastenJob"/></property>
<property name="targetMethod"><value>execute</value></property>
<property name="concurrent" value="false"/>
</bean>
<!-- Job定义 -->
<bean id="assessHastenJob" class="com.aspire.simp.app.assess.common.job.AssessHastenJob">
<property name="assessConfigManager" ref="assessConfigManager"/>
<property name="simsConfigBiz" ref="simsConfigBiz"/>
</bean>
2.JAVA类
Java代码
public class AssessHastenJob
{
private static Log logger = LogFactory.getLog(AssessHastenJob.class);
private AssessConfigManager assessConfigManager = null;
private SimsConfigBiz simsConfigBiz = null;
public void execute()
{
}
public void setAssessConfigManager(AssessConfigManager assessConfigManager)
{
this.assessConfigManager = assessConfigManager;
}
public void setSimsConfigBiz(SimsConfigBiz simsConfigBiz)
{
this.simsConfigBiz = simsConfigBiz;
}
}
相关推荐
在实际项目应用中经常会用到定时任务,可以通过quartz和spring的简单配置即可完成,但如果要改变任务的执行时间、频率,废弃任务等就需要改变配置甚至代码需要重启服务器,这里介绍一下如何通过quartz与spring的组合...
2.quartz-2.1.3目录下也有目前最新的quartz定时任务所需的jar包 3.有两个word档,可自行查看学习和了解quartz的相关应用 定时任务所需jar: commons-collections.jar, commons-logging.jar, log4j-1.2.14.jar, jta...
Quartz--JAVA定时任务\Java应用:Java调度任务和Spring Quartz (1)
NULL 博文链接:https://medbricom.iteye.com/blog/1782765
本项目实现对quartz定时任务的增加、停止、恢复等功能。前端为jQuery+ bootstrap实现可视化操作,附带有mybatis分页插件应用
Spring3.x企业应用开发实战 中 Spring 定时任务源码(spring 三种定时任务的实现方式),Spring quartz java 定时器 定时任务 源码
Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器...
主要介绍了Spring整合Quartz定时任务并在集群、分布式系统中的应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
集群下应用server定时任务执行研究,一方面是spring+quartz集群支持,另一方面是统一调度server 通过IHS方式解决,保证同一时间只有一台应用server执行定时任务
各种企业应用几乎都会碰到任务调度的需求,就拿论坛来说:每隔半个小时生成精华文章的RSS文件,每天凌晨统计论坛用户的积分排名,每隔30分钟执行锁定 用户解锁任务。对于一个典型的MIS系统来说,在每月1号凌晨统计上...
SpringQuartz定时任务Use technologyspring.version 4.3.16quartz.version 2.3.0CN1.RAMJobStore实现定时任务:最佳性能,因为所有数据都保存在内存中,但是应用程序或系统崩溃时,所有信息都会丢失。2.JDBC+...
3、适应于spring 于quartz不能解决的场景 基本等价整合功能,满足实际应用场景(任务暂停、恢复等复杂功能不能应用); 4、可以对该demo工程进行扩展,实现在页面上定义任务开始执行时间、循环次数等。 4、附件中...
Spring整合Quartz定时任务 在集群、分布式系统中的应用
最近项目中使用了spring+Quartz定时任务、但是项目最近要集群部署、多个APP下如何利用Quartz 协调处理任务。 大家可以思考一下、现在有 A、B、C三个应用同时作为集群服务器对外统一提供服务、每个应用下各有一个...
通过本文,读者将能够了解如何在Spring Boot应用中轻松创建和管理定时任务。 # @Scheduled注解简介 在Spring框架中,@Scheduled注解用于标记一个方法,使其能够在固定的时间间隔内自动执行。这个注解主要基于Java的...
Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz框架包含了调度器监听、作业和触发器监听。你可以配置作业和触发器监听为全局监听或者是特定于作业和触发器的监听...
一、Spring Boot基础应用 Spring Boot特征 概念: 约定优于配置,简单来说就是你所期待的配置与约定的配置一致,那么就可以不做任何配置,约定不符合期待时才需要对约定进行替换配置。 特征: 1. SpringBoot ...
工作时间也不久了、所以不能只局限于完成现有功能、所以研究了很多关于网站优化的东西、spring+Quartz定时任务、OsCache缓存框架、以及页面静态化等等 spring+Quartz定时任务:主要是白天的一些不是需要很实时性的...
基于quartz实现分布式任务调度(定时、API);引入camunda作为任务执行框架,支持工作流式任务编排、并发批量调度和参数传递。 简介 分布式、多租户的支持流程编排的任务调度应用 同时支持Redis分布式锁和Quartz...
基于boot+Quartz定时任务调度平台 kafka 基于Redis分布式限流组件设计与使用实例 发送邮件 dalgen工具 多数据源 使用jedis客户端整合redis 基于位图实现布隆过滤器 基于redis 实现的简单队列 整合redission 客户端 ...