`

quartz的job实现类无法注入Service类

阅读更多

原因

Job是在quartz的框架中实例化的,service是在spring容器中创建出来的。
所以Job实现类不受spring管理,即导致注入失败。

解决方案

executeInternal方法中加入一行代码SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);就ok了

如下

@Component
public class RemindJob extends QuartzJobBean {

	private static org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(RemindJob.class);

	@Autowired
	private ProjectTaskService projectTaskService;

	@Override
	protected  void executeInternal(JobExecutionContext arg0)  {
		SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
		log.info("RemindJob have bean started... ");
		projectTaskService.duRemindJob();


	}

}
0
0
分享到:
评论

相关推荐

    ssm-springMVC-整合Quartz(解决了无法注入service问题)-项目示例

    在提供的压缩包中,`ssm-springMVC-整合Quartz(解决了无法注入service问题).doc`可能包含了一份详细的文档,详述了上述步骤以及具体的配置代码。而`sx-ssm-quartz`可能是一个源码示例,展示了如何在实际项目中应用...

    利用spring的ApplicationContext在程序中唤醒quartz的job

    首先,`AppService.java`很可能包含了一个服务类,该类可能负责与Quartz相关的业务逻辑,例如创建、更新或删除Job。在Spring中,我们通常会通过`@Service`注解标记此类,并使用`@Autowired`注解注入所需的其他服务或...

    spring boot集成quartz定时器

    本文将详细讲解如何在Spring Boot项目中集成Quartz定时器,以及如何利用Spring的依赖注入特性来实现Job。 一、集成Quartz定时器 1. 添加依赖:首先,你需要在Spring Boot项目的`pom.xml`或`build.gradle`文件中...

    ssm集成quartz完成定时任务

    3. **创建Job类**:编写实现`org.quartz.Job`接口的类,这个类包含了定时任务的具体逻辑。可以利用Spring的`@Component`注解将这个类纳入Spring的管理范围,方便依赖注入。 4. **关联Job和Trigger**:在Spring配置...

    spring-quartz jar包

    在实际项目中,开发者通常会创建一个Job类,该类实现了Quartz的`org.quartz.Job`接口,并通过Spring的`@Component`或`@Service`注解将其注册到Spring容器中。然后,配置一个Trigger来决定何时执行这个Job。Spring ...

    ssm框架+quartz2.2Jar包

    2. **定义Job类**:创建实现`org.quartz.Job`接口的类,定义实际要执行的任务逻辑。 3. **配置Job和Trigger**:通过XML或Java配置,将Job与Trigger关联起来,定义触发任务的时间规则。 4. **启动Scheduler**:在...

    Srping Quartz 资料多多

    你可以学习到如何将Quartz集成到Spring应用中,并利用Spring的依赖注入特性来管理和配置Quartz组件。 "quartz-1.5.2.jar" 是Quartz库的旧版本,虽然不是最新的,但依然能提供Quartz的基本功能。了解这个版本可以...

    spring定时任务之Quartz

    这个类需要实现`org.quartz.Job`接口,并重写`execute(JobExecutionContext context)`方法,该方法是Quartz执行任务时调用的: ```java import org.quartz.Job; import org.quartz.JobExecutionContext; import org...

    spring+quartz 动态任务方案

    2. **定义任务和触发器**:接下来需要定义具体的任务(即 Job 实现类)以及如何触发这些任务(即 Trigger)。这里可以通过 XML 或者注解的方式来完成。 3. **启动调度服务**:最后是启动 Quartz 调度服务,通常会...

    Spring -Quartz的配置

    你需要创建一个实现了`org.quartz.Job`接口的类,这是Quartz执行任务的基础。在这个类中,你需要重写`execute(JobExecutionContext context)`方法,这个方法将在指定时间被调用执行实际的业务逻辑。 5. **启动和...

    基于spring+mybatis的quartz应用

    4. **定义Job和Trigger**:创建Job类实现`org.quartz.Job`接口,定义具体的业务逻辑。同时,创建Trigger类(通常是CronTrigger或SimpleTrigger),指定触发Job执行的时间规则。然后,将这两个类声明为Spring Bean。 ...

    spring+mybatis+quartz

    Quartz的配置则涉及Job类、Trigger类型和调度策略。 在实际应用中,Spring的AOP可以用来实现事务管理,确保在MyBatis执行的数据库操作中保持事务的一致性。Quartz可以用来定时执行数据清理、统计分析或者发送邮件等...

    spring-quartz.zip

    例如,我们可能会创建一个 `MyEmailJob` 类来实现发送邮件的任务,然后使用 `MethodInvokingJobDetailFactoryBean` 来定义这个 Job,指明执行哪个方法。接着,我们可以用 `CronTriggerFactoryBean` 设置 cron 表达式...

    java quartz详解

    `QuartzJobBean` 是一个抽象类,实现了 `Job` 接口,并提供了对 Spring 的支持。它使用模板方法模式,需要重写 `executeInternal` 方法来定义具体的业务逻辑: ```java public abstract class QuartzJobBean ...

    spring之定时任务实现(spring-task和quartz等不同方式)

    然后,定义Job类并实现`org.quartz.Job`接口,以及触发器(Trigger)来指定何时执行任务。例如: ```java public class MyJob implements Job { @Override public void execute(JobExecutionContext context) { ...

    springboot整合Quartz.zip

    SpringBoot整合Quartz是一个常见的需求,它...这个过程中涉及了SpringBoot的依赖注入、配置管理、组件扫描,以及Quartz的Job、Trigger、Scheduler的配置和使用。通过这些知识点,你可以构建出一个强大的定时任务系统。

    springquartz动态任务

    2. **定义Job类**:Quartz的`Job`接口是执行任务的基础,我们需要创建一个实现了该接口的类,并在其中编写实际的任务逻辑。在Spring环境中,我们通常会使用`SpringBeanJobFactory`,这样Quartz就能找到并注入所需的...

    quartz+spring定时器

    2. **JobToDo.java**:这是一个自定义的Job实现类,包含了实际的业务逻辑。 3. **TestQuartz.java**:测试类,用于验证定时任务的配置和执行是否正确。 4. **TaskName.java**:可能用于定义任务的枚举类型,便于管理...

    spring整合quartz两种方式以及spring自带定时任务使用

    然后,在你的Job类中实现`org.quartz.Job`接口,定义具体的执行逻辑。 #### 2. 注解驱动的方式 Spring 3.0以后,可以通过注解来简化配置,使得Quartz的集成更加简洁。首先,你需要创建一个实现了`org.spring...

    springboot集成Mybatis和quartz

    创建一个Job类,实现`org.quartz.Job`接口,并在需要执行的任务中注入所需的Service或Repository。例如,创建一个`HelloJob`类: ```java import org.quartz.Job; import org.quartz.JobExecutionContext; import ...

Global site tag (gtag.js) - Google Analytics