Cambié la biblioteca de cuarzo de la versión 1.5.2 a 2.1.2. Con la versión anterior, el proyecto se ejecuta y funciona bien, pero con 2.1.2 obtengo la excepción:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'lcJobDetail' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.InstantiationError: org.quartz.JobDetail
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1412)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:546)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:872)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:423)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at com.deveto.struts.triggers.TriggerTables.<clinit>(TriggerTables.java:36)
... 113 more
Caused by: java.lang.InstantiationError: org.quartz.JobDetail
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean.afterPropertiesSet(MethodInvokingJobDetailFactoryBean.java:177)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
... 125 more

La declaración de cuarzo de applicationContext.xml:

<bean name="lcTask" class="com.deveto.struts.triggers.TriggerLeagueCup"></bean>

<bean id="lcJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="lcTask" />
    <property name="targetMethod" value="execute" />
</bean>

<bean id="lcCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="lcJobDetail" />
    <property name="cronExpression" value="0 30 12 1/1 * ? *"/>
</bean>

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
           <ref bean="lcCronTrigger"/>
        </list>
    </property>
</bean>

No puedo encontrar dónde está el problema, tal vez con su ayuda, chicos, lo haga.

3
Denees 18 ene. 2012 a las 16:47
¿Cuál es la versión de Spring?
 – 
user800014
18 ene. 2012 a las 16:53

1 respuesta

La mejor respuesta

Se ha agregado compatibilidad con Quartz2 en Spring versión 3.1:

http://static.springsource.org/spring/docs/3.1.0.RC1/changelog.txt

Actualice sus dependencias de Spring a esa versión (al menos) o use Quartz versión 1.8.x

7
Shivan Dragon 18 ene. 2012 a las 16:52
Oh mierda. Mi culpa, trabajando a las mil maravillas. (Mulțumesc prietene)
 – 
Denees
18 ene. 2012 a las 17:07