`
寻找
  • 浏览: 26753 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Spring 封装的quartz使用和配置

    博客分类:
  • java
阅读更多

quartz-spring.xml的配置:

 

<?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">


    <!-- for query storage  -->
    <bean id="queryJob" class="com.ibm.cmcc.community.dynamic.quartz.query.QueryJob">
        <property name="dynamicContentService" ref="dynamicContentService"></property>
    </bean>
    <bean id="queryJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <!-- Bean的名字 -->
            <property name="targetObject"><ref bean="queryJob"/></property>       
            <!-- Bean的执行方法 -->
            <property name="targetMethod"><value>execute</value></property>   
    </bean>  
   
   
    <bean id="queryJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
            <property name="jobDetail">
                 <ref bean="queryJobDetail"/>
            </property>       
            <property name="cronExpression">
                  <value>0 0 0/1 * * ?</value> 
                <!--<value>0 0/1 * * * ?</value>-->
               
            </property>   
    </bean>
   
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
           <property name="triggers">
             <list>
                 <ref local="queryJobTrigger"/>
             </list>
           </property>   
    </bean>
   
   
</beans>
 

 

 

java类

package com.ibm.cmcc.community.dynamic.quartz.query;

import java.io.IOException;
import java.util.List;

import net.sf.ehcache.server.soap.utils.CacheUtils;

import org.apache.log4j.Logger;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;

import com.ibm.cmcc.community.dynamic.constant.Constant;
import com.ibm.cmcc.community.dynamic.model.RecDynamicContent;
import com.ibm.cmcc.community.dynamic.service.DynamicContentService;

/**
 * 定时查询集团下的
 * 推荐是省推荐个集团推荐的最新100条动态
 * @author zhaining
 *
 */
public class QueryJob {
    private static ObjectMapper mapper = new ObjectMapper();
    private static Logger logger = Logger.getLogger(QueryJob.class);
    private DynamicContentService dynamicContentService;
    /**
     * 每小时去查一次数据库
     * 生成json串,写到缓存里
     */
    protected void execute(){
//        try {
//            //Constant.GROUP_REC_CREATE_JS
//            //String rootPath=getClass().getResource("/").getFile().toString();
//            String url=QueryJob.class.getResource("/").getFile().toString();
//            System.out.println("url="+url);
//            url=url.substring(url.indexOf("/")+1);
//            System.out.println("url="+url);
//            url=url.substring(0,url.lastIndexOf("/"));
//            System.out.println("url="+url);
//            url=url.substring(0,url.lastIndexOf("/"));
//            System.out.println("url="+url);
//            url=url.substring(0,url.lastIndexOf("/"));
//            System.out.println("url="+url);
//          //新文件所属目录
//            File destFile = new File(url+"/group_rec_create");
//            if (!destFile.exists())
//            {
//                destFile.mkdirs();
//            }
//            FileOutputStream fos=new FileOutputStream(url+"/group_rec_create/group_rec_create.js");
//            fos.write(jsonString.getBytes());
//            fos.flush();
//            fos.close();
//        } catch (FileNotFoundException e) {
//            e.printStackTrace();
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
       
        List<RecDynamicContent> list = dynamicContentService.findProRecmDyna();
        String jsonString="";
        try {
            jsonString = mapper.writeValueAsString(list);
        } catch (JsonGenerationException e) {
            e.printStackTrace();
        } catch (JsonMappingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        CacheUtils.put(Constant.GROUP_REC_DYNAMIC_JSON, "GROUP_REC_DYNAMIC_JSON", jsonString);
    }

    public DynamicContentService getDynamicContentService() {
        return dynamicContentService;
    }

    public void setDynamicContentService(DynamicContentService dynamicContentService) {
        this.dynamicContentService = dynamicContentService;
    }
   
}
 

 

分享到:
评论

相关推荐

    spring的quartz使用实例

    以下是对Spring整合Quartz使用实例的详细说明: 1. **Quartz简介** Quartz是一个强大的、完全开源的作业调度框架,它支持复杂的调度策略,如按日期、时间间隔或自定义表达式执行。Quartz可以在Java应用中作为独立...

    对Quartz的简单封装

    总结来说,这篇博客的作者通过封装Quartz,降低了其使用难度,提高了开发效率,同时保持了Quartz的强大功能。如果你正在寻找一种方式来管理和调度Java应用程序中的定时任务,那么学习这个封装的Quartz实现可能会对你...

    Spring + Quartz配置实例(转载)

    2. **Spring配置文件**:在Spring的XML配置文件中,我们需要声明一个`SchedulerFactoryBean`,它是Spring对Quartz调度器的封装。通过这个bean,我们可以配置Quartz的相关属性,如JobStore类型(内存或数据库存储),...

    spring quartz 集群模式

    标题 "spring quartz 集群模式" 涉及到的是Spring框架与Quartz调度器在集群环境下的集成和配置。Quartz是一个开源任务调度框架,而Spring则提供了与Quartz的无缝集成,使得在Java应用中管理和执行定时任务变得更加...

    spring mvc quartz 动态设置时间

    - `schedulerFactory`:`SchedulerFactoryBean`是Spring对Quartz调度器的封装,它负责管理和初始化调度器,并关联触发器和任务。 2. **Web应用配置**: - 在`web.xml`中,通过`contextConfigLocation`参数指定了...

    quartz封装

    Spring集成Quartz,使得开发者能够方便地在Spring容器中管理和配置Quartz调度器,从而实现任务调度的解耦和灵活配置。通过Spring的封装,我们可以将任务作为Spring的bean定义,然后利用Spring的配置来决定何时以及...

    spring-quartz所需jar包

    7. **JDBC Driver**: 如果Quartz使用数据库存储Job和Trigger信息,那么需要相应的JDBC驱动,例如MySQL、Oracle、PostgreSQL等,以便与数据库进行交互。 8. **Commons Logging**: 作为日志抽象层,Commons Logging...

    Spring+Quartz定时调度

    Spring通过`org.springframework.scheduling.quartz`包为Quartz提供了高级封装,简化了Quartz的配置和使用。以下是整合的步骤: 1. **引入依赖**:在项目中添加Quartz和Spring对Quartz的支持的依赖。如果是Maven...

    spring和quartz整合相关jar包

    将Spring与Quartz整合,可以利用Spring的容器管理特性来管理和配置Quartz,提高代码的可维护性和可测试性。以下是一些整合的关键步骤和知识点: 1. **引入依赖**:首先,你需要在项目中添加Spring和Quartz的依赖。...

    spring quartz 相关文档

    Spring Quartz 是一个强大的任务调度框架...通过深入理解其核心概念和配置方法,你可以更好地利用它来自动化应用中的各种任务。同时,了解不同版本之间的差异以及在集群环境下的部署,可以确保系统的稳定性和高可用性。

    spring + Quartz 定时任务

    Spring框架和Quartz库结合使用,能够构建出强大且灵活的定时任务解决方案。下面我们将深入探讨这两个技术及其整合的方式。 **Spring框架** Spring是一个广泛使用的Java企业级应用开发框架,它提供了依赖注入...

    动态加载属性文件与SpringQuartz的应用

    Spring Quartz提供了声明式配置,可以将作业和触发器定义在XML配置文件或Java配置类中,并且可以通过Spring的依赖注入(DI)来获取和注入所需的bean。 结合这两个知识点,我们可以将动态加载属性文件与Spring ...

    脱离spring的quartz声明式定时器(jar包齐全)

    然而,通常在企业级应用中,Quartz与Spring框架结合使用,利用Spring的依赖注入和配置管理特性。但是,在某些场景下,我们可能需要在不依赖Spring的情况下单独使用Quartz,例如在J2SE环境中或者想要避免Spring的额外...

    Quartz集群+spring data

    Quartz是一款开源的作业调度框架,它允许开发者创建、组织和执行定时任务。Spring Data则是一个简化数据库访问的Java...通过深入理解这两个组件的工作原理和配置方式,开发者可以构建出稳定、可扩展的任务调度系统。

    quartz+spring分布式集群调度

    本文将深入探讨如何在分布式环境中利用Quartz和Spring构建一个高可用的集群调度系统。 一、Quartz简介 Quartz是Java平台上的作业调度库,它可以被用来创建、调度和执行计划任务。Quartz的核心是Job和Trigger。Job...

    Spring Quartz集成

    Quartz是一个开源的作业调度框架,能够按预定的时间执行任务,而Spring作为企业级应用的Java框架,提供了对Quartz的高级封装,简化了在Spring应用中使用Quartz的步骤。 在集成Spring和Quartz时,通常涉及以下关键类...

    spring动态定时器封装

    2. **配置Quartz**:在Spring的配置文件中,我们需要配置一个`SchedulerFactoryBean`,用于创建和管理Quartz的Scheduler实例。在这里,我们可以设置一些基本的Quartz属性,如线程池大小、存储策略等。 3. **定义Job...

    spring3.0 + Quartz1.52 + applicationContext.xml

    2. **配置Scheduler**:在`applicationContext.xml`中,我们需要创建一个`SchedulerFactoryBean`,这是Spring对Quartz Scheduler的封装,它负责初始化和管理Scheduler实例。例如: ```xml ...

    spring定时器Quartz

    - Spring通过`org.springframework.scheduling.quartz`包提供了对Quartz的集成,简化了配置和任务的管理。 - 使用Spring,你可以将Quartz的任务定义为Spring Bean,这样可以利用Spring的依赖注入和生命周期管理。 ...

    java+quartz的开发(spring环境中使用)

    本文将深入探讨如何在Spring环境中配置和使用Quartz进行任务调度。 首先,Quartz是一个开源的作业调度框架,它允许开发者定义定时任务并按照预定的时间间隔执行。Quartz支持多种触发器类型,如SimpleTrigger、...

Global site tag (gtag.js) - Google Analytics