`
hwpok
  • 浏览: 251710 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring 里配置 quartz

阅读更多
package hvp.spring.quartz.bean;

import java.util.Map;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.context.ApplicationContext;

public class MyJob implements Job
{
    
    @SuppressWarnings(
"unchecked")
    
public void execute(JobExecutionContext jec) throws JobExecutionException
    
{
        Map dataMap 
= jec.getJobDetail().getJobDataMap();
        String size 
= (String) dataMap.get("size");
        
// 得到Spring的ApplicationContext,可以访问Spring里的任何Bean了.
        ApplicationContext ac = (ApplicationContext) dataMap
                .get(
"applicationContext");
        System.out.println(size 
+ ":工作里" + ac.toString());
    }

}
package hvp.spring.quartz.bean;

public class MyService
{
    
public void doJob()
    
{
        System.out.println(
"in MyService.doJob().");
    }

}
package hvp.spring.quartz.bean;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestQuartx
{   
    
public static void main(String[] args){
        String configPath 
= "hvp/spring/quartz/bean/quartzBean.xml";
        ApplicationContext ctx 
= new ClassPathXmlApplicationContext(configPath);
        ctx.getBean(
"scheduler");
    }

}
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation
="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
>
    
<bean name="jobDetail"
        class
="org.springframework.scheduling.quartz.JobDetailBean">
        
<property name="jobClass"
            value
="hvp.spring.quartz.bean.MyJob" />
        
<property name="jobDataAsMap">
            
<map>
                
<entry key="size" value="10" />
            
</map>
        
</property>
        
<property name="applicationContextJobDataKey"
            value
="applicationContext" />
    
</bean>
    
<bean id="jobDetail_1"
        class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        
<property name="targetObject" ref="myService" />
        
<property name="targetMethod" value="doJob" />
        
<property name="concurrent" value="false" />
    
</bean>
    
<bean id="myService" class="hvp.spring.quartz.bean.MyService" />
    
<bean id="simpleTrigger"
        class
="org.springframework.scheduling.quartz.SimpleTriggerBean">
        
<property name="jobDetail" ref="jobDetail" />
        
<property name="startDelay" value="1000" />
        
<property name="repeatInterval" value="1000" />
        
<property name="repeatCount" value="1000" />
        
<property name="jobDataAsMap">
            
<map>
                
<entry key="count" value="10" />
            
</map>
        
</property>
    
</bean>
    
<bean id="checkImagesTrigger"
        class
="org.springframework.scheduling.quartz.CronTriggerBean">
        
<property name="jobDetail" ref="jobDetail_1" />
        
<property name="cronExpression" value="0/5 * * * * ?" />
    
</bean>
    
<bean id="scheduler"
        class
="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        
<property name="triggers">
            
<list>
                
<ref bean="checkImagesTrigger" />
                
<ref bean="simpleTrigger" />
            
</list>
        
</property>
        
<property name="schedulerContextAsMap">
            
<map>
                
<entry key="timeout" value="30" />
            
</map>
        
</property>
        
<property name="quartzProperties">
            
<props>
                
<prop key="org.quartz.threadPool.class">
                    org.quartz.simpl.SimpleThreadPool
                
</prop>
                
<prop key="org.quartz.threadPool.threadCount">10</prop>
            
</props>
        
</property>
    
</bean>
</beans>
分享到:
评论

相关推荐

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...

    spring2与quartz在Web整合

    3. **整合过程**:整合 Spring 2 和 Quartz 需要在 Spring 配置文件中声明 Job 和 Trigger 的 Bean,并指定它们的关联。Spring 可以通过其自身的 JobFactory 来创建 Job 实例,使得 Job 可以利用 Spring 的 DI 功能...

    spring3配置quartz定时任务

    2. **创建作业bean**:在Spring配置文件中声明这个作业bean,并设置其类为`MyJob`: ```xml ``` 3. **定义触发器**:触发器控制作业何时执行。Quartz提供了多种类型的触发器,如SimpleTrigger、CronTrigger等。...

    Spring中Quartz的配置

    接下来是在Spring配置文件中对Quartz进行配置。以下是配置示例: ```xml &lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"&gt; &lt;!-- 要调用的工作类 --&gt; ...

    Quartz2.2.1基于Spring注解方式配置Quartz

    本文将详细介绍如何在Spring环境中使用注解方式配置Quartz。 1. **引入依赖** 在项目中,你需要引入Quartz和Spring的相应依赖。在Maven的pom.xml文件中,添加以下依赖: ```xml &lt;groupId&gt;org.quartz-scheduler...

    关于spring中quartz的配置

    在Spring配置文件(如`applicationContext.xml`)中,定义`SchedulerFactoryBean`来实例化和配置Quartz Scheduler: ```xml &lt;bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz....

    spring 配置quartz需要的jar包

    2. **配置Quartz**:在Spring的配置文件(如`applicationContext.xml`)中,声明一个`SchedulerFactoryBean`,这是Spring提供的用于管理Quartz Scheduler的bean。 ```xml &lt;bean id="scheduler" class="org.spring...

    Spring3.2.3+Quartz2.2 整合配置

    接下来,在Spring的配置文件(如`applicationContext.xml`)中,配置Quartz的SchedulerFactoryBean以及JobDetail和Trigger。下面是一个基本的配置示例: ```xml &lt;bean id="scheduler" class="org.springframework....

    spring3整合quartz1.8和spring3整合quartz2.2两个版本示例

    6. **配置 Scheduler**:创建 `SchedulerFactoryBean`,它是 Spring 提供的用于管理 Quartz Scheduler 的工具类,通过设置 JobDetails 和 Triggers,将它们绑定到 Scheduler 中。 7. **启动 Scheduler**:在应用...

    quartz整合springbatch动态集群定时实现mysql参考

    1. **Quartz配置**:定义了调度器、作业和触发器的配置,可能使用了`org.springframework.scheduling.quartz.SchedulerFactoryBean`来初始化Quartz。 2. **Spring Batch配置**:包含了作业和步骤的定义,以及读取和...

    quartz和spring-quartz

    学习Quartz和Spring-Quartz,不仅需要理解它们的基本概念,还要掌握如何在实际项目中进行配置和使用。例如,创建一个定时任务,你需要定义Job类,配置Trigger,然后在Spring的配置文件中设置Scheduler。此外,熟悉...

    spring集成quartz集群配置

    在Spring配置文件中,我们可以声明这些bean并关联它们,这样Spring就能自动管理和触发Quartz任务。 集群配置的关键在于确保所有节点都能共享相同的任务状态和调度信息。Quartz通过使用数据库存储作业和触发器来实现...

    spring+quartz demo

    Spring 提供了与 Quartz 集成的模块,使得在 Spring 应用程序中使用 Quartz 更加便捷,包括 Job 实例的管理、触发器的配置以及对 Quartz Scheduler 的控制。 在这个 "spring+quartz demo" 中,我们可以学习到如何将...

    springboot整合quartz定时任务yml文件配置方式

    以下将详细介绍如何在Spring Boot应用中使用YAML文件配置Quartz定时任务,以及涉及的Spring Cloud Alibaba、Dubbo和Nacos的相关知识。 首先,我们需要在`pom.xml`中引入相关的依赖。Spring Boot的`spring-boot-...

    Spring Quartz如何动态配置时间

    Spring Quartz 动态配置时间 Spring Quartz 是一个功能强大的任务调度框架,广泛应用于 Java 企业级应用程序中。其中一个重要的功能便是动态配置时间,触发相应的任务。在本文中,我们将讨论如何使用 Spring Quartz...

    spring boot + quartz 动态管理 分布式

    这些资源可能包括Quartz的Job类定义、Spring Boot的配置文件(application.properties或application.yml)、数据库模型和迁移脚本、以及用于演示动态管理任务的控制器和服务类代码。开发者可以研究这些文件,了解...

    spring3.0+quartz-1.6.0定时

    Spring 3.0 和 Quartz ...首先,你需要在Spring配置文件中声明一个`SchedulerFactoryBean`,这将初始化并管理Quartz调度器。然后,通过定义`JobDetail`和`Trigger`,你可以将Spring的bean作为任务来调度。 ```xml ...

    spring3 配置quartz定时任务的使用

    本篇文章将详细介绍如何在Spring 3.x版本中配置和使用Quartz进行定时任务的实现。 首先,我们需要理解Spring与Quartz结合的基本原理。Spring通过其`JobDetail`和`Trigger`接口来与Quartz进行交互,`JobDetail`定义...

    spring多个定时任务quartz配置

    本文将深入探讨如何在Spring中配置Quartz以实现多个定时任务。 首先,我们需要理解Quartz的基本概念。Quartz是一个开源的工作调度框架,它允许应用程序定义作业(Jobs)和触发器(Triggers),以在指定的时间执行...

    转:spring多个定时任务quartz配置

    2. **配置quartz.properties**:这是Quartz的核心配置文件,用于定义调度器的属性,如线程池大小、数据库连接等。例如: ``` org.quartz.scheduler.instanceName=MyScheduler org.quartz.threadPool.threadCount=...

Global site tag (gtag.js) - Google Analytics