maven下Quartz定时器shiro,spring冲突问题

1,pom.xml注意版本问题

2,spring-mvc.xml

<--!使用MethodInvokingJobDetailFactoryBean,任务类可以不实现Job接口,通过targetMethod指定调用方法-->

<bean id="taskJobWarning" class="com.dareway.jeedw.chapter24.util.timer.WarningTaskJob"/>  

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

<--! false表示等上一个任务执行完后再开启新的任务-->

<property name="concurrent" value="false"/>

<property name="targetObject">

<ref bean="taskJobWarning"/>

</property>

<property name="targetMethod">

<value>execute</value>

</property>

</bean>

<-- !调度触发器 -->

<bean id="myTriggerWarning" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">

<property name="jobDetail">

<ref bean="taskJobMethodWarning"/>

</property>

<property name="cronExpression"/>

<value>0/5 * * * * ?</value>

</property>

</bean>

<--! 调度工厂 -->

<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

<property name="triggers"><list><ref bean="myTriggerWarning"/></list></property>

</bean>

3,WarningTaskJob类

public class WarningTaskJob {

    protected void execute() {

        DoSomething ds1 = new DoSomething();

        Thread t1 = new Thread(ds1);

        t1.start();

    }

}

  4,DoSomething类

public class DoSomething implements Runnable {

public DoSomething() {

}

public void run() {

        print("aaaa");

}

5,spring-config-shiro.xml冲突修改

<--! 会话验证调度器<bean id="sessionValidationScheduler" class="org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler"><property name="sessionValidationInterval" value="1800000"/>

<property name="sessionManager" ref="sessionManager" />

</bean>-->修改为

<bean id="sessionValidationScheduler" class="org.apache.shiro.session.mgt.ExecutorServiceSessionValidationScheduler">

<property name="interval" value="1800000" />

<property name="sessionManager" ref="sessionManager"/></bean>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容