`

在spring中管理多个job

阅读更多

1:spring配置文件

 

  <bean id="dailyjob.processor"
        class="com.DailyJobProcessor">
    <property name="dailyjobQueue">
      <list>
        <ref local="rollback" />
        <ref local="tallydone" />
        <ref local="discountnote" />
          </list>
    </property>
  </bean>


  <bean id="jobdetail.factory"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

    <property name="targetObject">
      <ref bean="dailyjob.processor" />
    </property>
    <property name="targetMethod">
      <value>process</value>
    </property>
  </bean>


  <bean id="trigger.jobdetail"
        class="org.springframework.scheduling.quartz.SimpleTriggerBean">
       
    <property name="jobDetail">
      <ref bean="jobdetail.factory" />
    </property>
    <property name="startDelay">


      <value>${time.jobstartdelay}</value>
    </property>
    <property name="repeatInterval">


      <value>${time.jobrepeatinterval}</value>
    </property>
  </bean>

 

2: DailyJobProcessor类

 

 */
public class DailyJobProcessor implements Serializable {

    private List dailyjobQueue;

    public void process() {
        //按注入计划任务的顺序执行
        for (int i = 0; i < dailyjobQueue.size(); i++) {
            try {
                DailyJob job = (DailyJob) dailyjobQueue.get(i);

                job.execute();
            } catch (Exception e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }
        }
    }

    /******************   Spring 注入   *********************/

    public List getDailyjobQueue() {
        return dailyjobQueue;
    }

    public void setDailyjobQueue(List dailyjobQueue) {
        this.dailyjobQueue = dailyjobQueue;
    }
}

 

3:DailyJob 为interface 让几种job实现它

分享到:
评论

相关推荐

    Spring Job 配置详解

    Spring Job 配置详解是指在 Spring 框架中使用 Quartz 来实现任务调度,Quartz 是一个功能强大且灵活的开源任务调度库。Quartz 的核心概念是 Job 和 Trigger,Job 是需要执行的任务,而 Trigger 则是触发 Job 的时机...

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

    6. **注册JobDetail和Trigger**:在Spring配置文件中,为每个Job创建一个`JobDetail`,并为每个`JobDetail`配置对应的`Trigger`。 ```xml &lt;bean id="myJob" class="org.springframework.scheduling.quartz....

    Spring定时任务(多个实例)

    在分布式环境中,如果有多台服务器同时运行同一个Spring应用,可能会出现定时任务重复执行的问题。为解决此问题,可以采用以下策略: - 使用数据库存储`Trigger`信息,确保只有一个实例获取并执行任务。 - 使用...

    spring多个定时任务quartz配置

    7. **多任务配置**:如果需要配置多个定时任务,只需重复上述步骤,为每个Job和Trigger创建不同的bean,并在适当的地方添加到Scheduler中。 通过以上步骤,你可以在Spring中成功配置并运行多个Quartz定时任务。记得...

    ElasticJob与SpringBatch的结合使用

    - **分布式的任务调度**:Elastic-Job 能够将任务分发到多个节点上执行,实现负载均衡。 - **高可用性**:通过 ZooKeeper 进行协调管理,当某个节点失败时,其他节点可以接管任务继续执行。 - **灵活性**:支持...

    分布式调度任务架构elastic job的spring-boot-starter自动装载模块

    该starter已经在公司多个项目生产环境运行。研发只需关注实现job和在application.yml增 加相应配置即可。 模块运行环境: 1.JDK1.8 2.MAVEN3.3+ 3.Spring boot 2.1.17.RELEASE 4.Zookeeper 3.4.6 5.100%...

    Spring下配置job

    2. **Job**:一个Job由一个或多个Steps组成,定义了批处理任务的整个生命周期,包括如何启动、暂停、恢复和停止。 3. **JobRepository**:存储关于Job和Step执行状态的元数据,用于跟踪作业的运行历史。 4. **...

    spring-batch同步数据库mysql源码

    1. **Job和Step**:Job是Spring-Batch中的一个高级概念,代表了一个批处理任务,由一个或多个Step组成。Step是执行实际任务的最小单位,通常包含一个ItemReader、ItemProcessor和ItemWriter。 2. **DataSource**:...

    Spring Job开发包

    这个注解有多个参数,如`fixedRate`、`cron`等,分别用于设置执行间隔或者基于Cron表达式的时间规则。例如,以下代码展示了如何每隔5秒执行一次方法: ```java @Component public class ScheduledTasks { @...

    Spring Boot整合Spring Batch,实现批处理

    3. **定义作业(Job)和步骤(Step)**:一个作业由一个或多个步骤组成,每个步骤负责执行特定的数据处理任务。我们可以使用Spring的注解驱动模式,如`@JobConfiguration`和`@StepScope`,来定义作业和步骤。 4. **...

    spring+quartz demo

    考虑到并发执行,可以在配置中定制线程池大小,确保多个任务能并行执行。 通过这个 "spring+quartz demo",开发者可以快速理解并实践 Spring 和 Quartz 的整合,掌握如何在 Spring 应用中高效地管理和执行定时任务...

    spring的quartz使用实例

    - 考虑使用Spring的`@Async`注解或`TaskExecutor`来处理异步任务,而非直接在Job中进行。 - 对于频繁执行的任务,考虑使用线程池优化性能。 通过以上内容,我们可以看到Spring整合Quartz提供了强大的任务调度功能...

    在spring中使用quartz

    一个Job可以被多个Trigger触发,而一个Trigger也可以关联到多个Job。JobDetail代表了Job的具体实现,包含了Job类的信息和执行时所需的参数。Trigger则定义了Job何时应该被执行,可以通过CRON表达式或SimpleTrigger来...

    spring多个定时任务quartz配置 easy518网址导航

    根据提供的信息,我们可以详细解析如何在Spring框架中配置多个基于Quartz的定时任务。Quartz是一个功能强大的开源作业调度库,它可以被应用到Java应用程序中实现复杂调度的需求。本篇文章将深入探讨如何在Spring环境...

    spring boot + quartz 动态管理 分布式

    在IT行业中,Spring Boot和Quartz是两个非常重要的框架,它们在企业级应用开发中扮演着关键角色。Spring Boot简化了Spring应用的初始搭建以及开发过程,提供了开箱即用的功能,而Quartz则是一个强大的任务调度库,常...

    springQuartz.zip

    4. **编写Job类**:在Spring中,一个Job通常是一个实现了`org.quartz.Job`接口的类。你需要定义`execute(JobExecutionContext context)`方法,这是实际执行的任务逻辑。Spring可以自动管理和实例化这些Job,使得任务...

    spring batch 读取多个文件数据导入数据库示例

    在本文中,我们将深入探讨如何使用 Spring Batch 实现读取多个文件并将数据导入数据库的示例。 首先,让我们了解项目的基本目录结构。在执行 Spring Batch 任务时,通常会有一个包含配置文件、实体类、处理器、读取...

    springBoot+springBatch批量处理数据demo

    Step是批处理任务的基本执行单元,可以包含一个或多个Tasklets。Tasklet是执行实际业务逻辑的组件,它可以是无状态的,也可以是可分割的。ItemReader、ItemProcessor和ItemWriter则分别用于读取数据、处理数据和写入...

    spring-batch分区处理示例

    在Spring Batch中,分区处理是一种优化策略,它将大型工作负载分解成多个较小、独立的任务,这些任务可以在不同的线程或甚至不同的节点上并行运行,从而提高处理速度。在本示例中,我们将深入探讨"spring-batch 分区...

    spring动态定时器封装

    在Spring中,我们可以使用`@Component`注解定义一个Job类,并实现`org.quartz.Job`接口。Trigger则可以通过`CronTriggerFactoryBean`或者`SimpleTriggerFactoryBean`来创建。 4. **注册Job和Trigger**:为了实现...

Global site tag (gtag.js) - Google Analytics