zoukankan      html  css  js  c++  java
  • quartzy的spring注入问题

    <!-- quartz定时器,定时器的类--自己用的类 -->
        <bean id="jobDetailFactoryBean" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
            <property name="jobClass" value="com.myk.oe.utils.QuartzTask"></property>
        </bean>
        <!-- 配置执行时间和规则 -->
        <bean id="quartzTask" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
            <property name="jobDetail" ref="jobDetailFactoryBean"></property>
            <!-- 5秒一次 -->       
            <property name="cronExpression" value="0/5 * * * * ?"></property>
        </bean>
        <!-- 将bean注入到定时器的类 -->
        <bean id="jobFactory" class="com.myk.oe.quartz.util.JobFactory"></bean>
    
        <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 --> 
        <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
            <property name="triggers">
                <list>
                    <ref bean="quartzTask" /><!-- 任务 -->
                </list>
            </property>
            <property name="jobFactory" ref="jobFactory"></property>
            <property name="autoStartup" value="true"/><!-- 自动开始 -->
        </bean>
    

      定义好定时任务的相关类,在类中调用dao或者service的时候会报空指针异常,

    在定时任务的类上加注解@DisallowConcurrentExecution就可以注入service和dao了

    @DisallowConcurrentExecution
    public class QuartzTask extends QuartzJobBean{
    
        @Resource(name="appointmentServiceImpl")
        private AppointmentService appointmentService;//这是服务类
    
        @Override
        protected void executeInternal(JobExecutionContext context)
                throws JobExecutionException {
    
        List<Appointment> appointments = appointmentService.getAppointments();//获取数据
            System.err.println(appointments);
        }
    }
  • 相关阅读:
    js实现base64转换
    使用maven命令终端构建一个web项目及发布该项目
    使用eclipse构建Maven项目及发布一个Maven项目
    Maven在Windows上的安装与配置
    centos7下安装配置redis3.0.4
    Centos7下完美安装并配置mysql5.6
    linux常用命令总结
    VMware下centos桥接模式静态ip配置
    解决centos7下tomcat启动正常,无法访问项目的问题
    centos7系统下安装配置jdk、tomcat教程
  • 原文地址:https://www.cnblogs.com/chenKnowledgeConllection/p/8417029.html
Copyright © 2011-2022 走看看