Spring XML配置Quartz 出错

Zeb-D 2017-07-17 11:42:49
问题描述,把<!-- <ref bean="abcTrigger"/> -->这个注释打开就运行不了,然后启动异常:
七月 17, 2017 11:34:31 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@7a07c5b4: startup date [Mon Jul 17 23:34:31 CST 2017]; root of context hierarchy
七月 17, 2017 11:34:31 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [SSH-public.xml]
七月 17, 2017 11:34:31 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [SSH-AOP.xml]
七月 17, 2017 11:34:32 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [SSH-scheduling.xml]
七月 17, 2017 11:34:32 下午 org.springframework.beans.factory.config.PropertyPlaceholderConfigurer loadProperties
信息: Loading properties file from class path resource [service.properties]
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
七月 17, 2017 11:34:34 下午 org.springframework.scheduling.quartz.SchedulerFactoryBean destroy
信息: Shutting down Quartz Scheduler
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'abcJob' defined in class path resource [SSH-scheduling.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodException: com.sun.proxy.$Proxy9.runTask()
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:684)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.yd.ssh.service.BeanTest.main(BeanTest.java:27)
Caused by: java.lang.NoSuchMethodException: com.sun.proxy.$Proxy9.runTask()
at java.lang.Class.getMethod(Class.java:1773)
at org.springframework.util.MethodInvoker.prepare(MethodInvoker.java:174)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean.afterPropertiesSet(MethodInvokingJobDetailFactoryBean.java:205)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1612)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549)
... 12 more


SSH-scheduling.xml:
<bean id="schedulerFactory" lazy-init="false"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="aTrigger"/>
<!-- <ref bean="abcTrigger"/> -->
</list>
</property>
</bean>

<bean id="abcJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<bean class="com.yd.ssh.quartz.HelloWorld" />
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod" value="runTask"/>
<!-- 如果前一个任务还没有结束第二个任务不会启动 false -->
<property name="concurrent" value="false" />
</bean>
<!-- 定义触发时间 -->
<bean id="abcTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="abcJob"></property>
<!-- cron表达式 每天00:00开始,2小时执行一次-->
<property name="cronExpression">
<value>1/2 * * * * ?</value>
</property>
</bean>

<!-- 定义触发时间 -->
<bean id="aTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!-- cron表达式 每天00:00开始,2小时执行一次-->
<property name="cronExpression">
<value>1/2 * * * * ?</value>
</property>
<property name="jobDetail">
<bean class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="jobClass" value="com.yd.ssh.quartz.HelloWorld"/>
<property name="durability" value="true"/>
</bean>
</property>
</bean>

类测试:
public class BeanTest {

public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("SSH-scheduling.xml");

}

}
...全文
240 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zeb-D 2017-07-22
  • 打赏
  • 举报
回复
已经找到问题了,http://blog.csdn.net/u014229282/article/details/75801477

5,655

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧