`
LiYunpeng
  • 浏览: 942932 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Quartz+Spring动态时间执行Job类实现的注入

阅读更多
关于Spring + Quartz的实现,网上已经有很多了,这里不过多去描述

网上大多的博也都是ctrl+c,内容大同小异

这里重点描述的是

关于动态配置时间后的Job实现的注入
----------------
说明:通过JobDetail来指定Job的类实现是通过反射来实现的,这样的话Job的实现类的属性无法通过Spring来注入,若继承了父类,就更无法通过Spring来实例化

1.关于Job接口实现类中属性的注入方法

<bean name="jobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
    <property name="jobClass" value="com.xxx.MyJob" />
    <property name="jobDataAsMap">
        <map>
            <entrykey="jobData"value-ref="someData"/>  
        </map>
    </property>
</bean>

这段代码中的jobDataAsMap里面映射的Map就是要注入的属性名和映射值

但是,这个方法解决不了,继承父类的注入问题

2.通过Spring来管理Job接口的实现类的实例化
<bean id="jobDetailFactory"  scope="singleton"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="testService" />
		<property name="targetMethod" value="execute" />
<!-- 		<property name="concurrent" value="false">  指定是否并行执行Job -->
	</bean>


以上这段代码就可以通过Spring来管理Job实现的实例化了
其中testService就可以通过Spring配置Bean
targetMethod就是当Job要执行时默认调用的方法名


关于Quartz的动态设置时间,网上有很多方法
比如通过程序动态生成cronExpression
也可以直接创建SimpleTrigger来配置时间
分享到:
评论

相关推荐

    Quartz+Spring定时触发器例子

    2. **Job类**:这是实际执行任务的类,实现了`org.quartz.Job`接口。你需要在Job类中定义`execute`方法,这个方法会在触发器指定的时间被调用。 3. **Trigger**:定义了任务执行的时间规则。Quartz提供了多种触发器...

    Quartz+springjar

    3. **定义 Job 和 Trigger**:创建 Job 类并实现 Job 接口,然后在 Spring 配置文件中声明 JobDetail 和 Trigger Bean。 4. **启动 Scheduler**:在 Spring 应用上下文启动时,通过 SchedulerFactoryBean 获取 ...

    Quartz + spring的开发步骤

    Trigger 决定 Job 的执行时间。可以使用 `CronTrigger` 或 `SimpleTrigger` 来实现。例如,使用 Cron 表达式定义一个每天早上 8 点执行的任务: ```java CronTrigger trigger = new CronTrigger("myTrigger", ...

    spring+springMVC+mybatis+quartz动态定时任务创建

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+mybatis+quartz动态定时任务创建"就是一个常见的技术栈,用于实现这样的目标。这个组合充分利用了各组件的优势,提供了强大的后端服务支持...

    Spring Boot+Apache Shiro+Spring MVC+MyBatis+Quartz+Druid DEMO

    - 任务调度:创建JobDetail和Trigger,设置执行时间,交由Scheduler管理。 - 作业与触发器:Job代表具体任务,Trigger定义何时触发Job执行。 6. **Druid**: - Druid是一个高性能的数据库连接池,提供了监控、...

    quartz+spring分布式集群

    - 使用`org.quartz.utils.ClusterManager`类进行集群节点间的协调,确保每个任务仅在一个节点上执行,防止重复。 - 集群中节点的故障检测和恢复是重要的考虑因素,可以通过心跳机制来监控其他节点的状态。 5. **...

    Quartz+spring实例应用

    Quartz是一个开源的作业调度库,它允许应用程序在预定义的时间执行任务,而Spring是一个全面的Java应用开发框架,提供了依赖注入、面向切面编程以及一系列的企业级服务。将两者结合使用,可以在Spring管理的上下文中...

    quartz+spring定时器

    Quartz是一个开源的作业调度框架,它允许开发者定义、调度和执行作业,而Spring则提供了强大的依赖注入(DI)和AOP(面向切面编程)功能,使得集成Quartz变得更加方便。 【描述】"spring+quartz配置的定时器 可以...

    quartz+spring示例

    Quartz 是一个开源的任务调度框架,它允许程序在指定的时间执行特定任务,而Spring 是一个广泛应用的Java企业级应用框架,提供了丰富的功能,包括依赖注入、面向切面编程以及全面的事务管理等。将 Quartz 与 Spring ...

    spring+quartz+maven项目实例

    Quartz可以很好地与Spring集成,通过Spring的ApplicationContext,我们可以方便地管理和控制Quartz的Scheduler,实现任务的动态添加、修改和删除。 【Maven】 Maven是Java项目管理工具,负责项目的构建、依赖管理和...

    定时器(quartz+spring)读取数据库配置

    最后,启动Spring容器,Quartz会自动加载数据库中的Job和Trigger配置,按照设定的时间执行相应的任务。 通过这种方式,我们可以构建一个高度可扩展和可配置的定时任务系统,只需在数据库中修改Job和Trigger的配置,...

    Quartz集群+spring data

    通过定义Spring Bean,我们可以将Job类与触发器绑定,并利用Spring的生命周期管理,实现Job的自动启动和停止。 在实现过程中,需要注意以下几点: 1. 配置Quartz的属性文件,指定数据库连接信息,确保所有集群节点...

    quartz1.86+spring3.2测试实例

    通过定义Job类来实现具体的业务逻辑,再通过Trigger来设定任务的触发时间,可以在指定的时间点或按照特定的周期执行任务。在Spring中,可以通过`&lt;bean&gt;`标签和`quartz:job-ref`来配置Job,`quartz:trigger`来配置...

    Quartz2.2.3+Spring4.3.14整合demo

    3. 创建 Job 类:定义实现 `org.quartz.Job` 接口的类,这个类将包含实际的任务逻辑。 4. 配置 Spring:在 `applicationContext.xml` 中定义 Job 和 Trigger 的 Bean,使用 Spring 的 `QuartzJobBean` 来托管 Job,...

    spring+quartz动态设置定时时间

    - 创建Spring Bean作为Job:Spring Job类继承自org.springframework.scheduling.quartz.JobDetailBean,并且需要实现org.quartz.Job接口,这样Spring容器就能管理这些Job实例。 - 定义Trigger:使用CronTrigger...

    quartz+spring

    在Quartz中,任务被称为Job,而任务的执行时间规则被称为Trigger。Job代表具体的业务逻辑,而Trigger定义了Job何时应该被触发执行。Quartz还提供了Scheduler,它是整个调度系统的管理者,负责安排Job和Trigger的关联...

    Quartz+Spring

    - **Trigger**:触发器,定义了Job何时被执行,包括具体的执行时间、频率等信息。 - **Scheduler**:调度器,负责管理和执行Job与Trigger的组合。 2. **Spring与Quartz的整合**: - 使用`org.springframework....

    Quartz注入Spring的Bean

    4. **JobFactory的自定义**:Quartz默认使用SimpleJobFactory来创建Job实例,但我们可以自定义一个继承自SpringBeanJobFactory的类,使得在创建Job实例时,Spring会自动处理依赖注入。 **Quartz注入Spring Bean的...

    spring+quartz demo

    Job 类是执行实际任务的逻辑,需要实现 Quartz 的 `org.quartz.Job` 接口,并重写 `execute(JobExecutionContext context)` 方法。Spring 可以通过 AOP 将 Job 实例注入到 Spring 容器中,从而利用 Spring 的特性,...

Global site tag (gtag.js) - Google Analytics