Hi,
I want to create a scheduled job for alfresco 6.1. I am getting the below error for the class.
Caused by: java.lang.ClassNotFoundException: org.springframework.scheduling.quartz.JobDetailBean
<bean id="org.alfresco.tutorial.scheduledjob.actions.ScheduledJobExecuter"
class="org.alfresco.tutorial.scheduledjob.actions.ScheduledJobExecuter">
<property name="serviceRegistry">
<ref bean="ServiceRegistry" />
</property>
</bean>
<bean id="org.alfresco.tutorial.scheduledjob.jobDetail"
class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="jobClass">
<value>org.alfresco.tutorial.scheduledjob.jobs.ScheduledJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="jobExecuter">
<ref bean="org.alfresco.tutorial.scheduledjob.actions.ScheduledJobExecuter" />
</entry>
<entry key="jobLockService">
<ref bean="jobLockService" />
</entry>
</map>
</property>
</bean>
<bean id="org.alfresco.tutorial.scheduledjob.trigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="org.alfresco.tutorial.scheduledjob.jobDetail" />
</property>
<property name="cronExpression">
<value>${org.alfresco.tutorial.scheduledjob.cronexpression}</value>
</property>
<property name="startDelay">
<value>${org.alfresco.tutorial.scheduledjob.cronstartdelay}</value>
</property>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="org.alfresco.tutorial.scheduledjob.trigger"/>
</list>
</property>
</bean>
I have changed the class to org.springframework.scheduling.quartz.JobDetailFactoryBean & org.springframework.scheduling.quartz.CronTriggerFactoryBean, then the class not found exception is gone but the job is not running.
Has anyone created a scheduled job alfresco 6.1 SDK 4?
Solved! Go to Solution.
I have found the solution for this. the below link is not an updated one.
Scheduled Jobs | Alfresco Documentation
Below configration is working.
<?xml version='1.0' encoding='UTF-8'?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="schedulerAccessor"
class="org.springframework.scheduling.quartz.SchedulerAccessorBean">
<property name="scheduler" ref="schedulerFactory" />
<property name="triggers">
<list>
<ref bean="testJobTrigger" />
</list>
</property>
</bean>
<bean id="testJobTrigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="cronExpression" value="0 0/2 * * * ?" />
<property name="startDelay" value="${system.cronJob.startDelayMilliseconds}" />
<property name="jobDetail">
<bean class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="jobClass" value="org.alfresco.tutorial.scheduledjob.actions.ScheduledJobExecuter" />
<property name="jobDataAsMap">
<map>
<entry key="jobLockService">
<ref bean="jobLockService" />
</entry>
</map>
</property>
</bean>
</property>
</bean>
</beans>
I have found the solution for this. the below link is not an updated one.
Scheduled Jobs | Alfresco Documentation
Below configration is working.
<?xml version='1.0' encoding='UTF-8'?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="schedulerAccessor"
class="org.springframework.scheduling.quartz.SchedulerAccessorBean">
<property name="scheduler" ref="schedulerFactory" />
<property name="triggers">
<list>
<ref bean="testJobTrigger" />
</list>
</property>
</bean>
<bean id="testJobTrigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="cronExpression" value="0 0/2 * * * ?" />
<property name="startDelay" value="${system.cronJob.startDelayMilliseconds}" />
<property name="jobDetail">
<bean class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="jobClass" value="org.alfresco.tutorial.scheduledjob.actions.ScheduledJobExecuter" />
<property name="jobDataAsMap">
<map>
<entry key="jobLockService">
<ref bean="jobLockService" />
</entry>
</map>
</property>
</bean>
</property>
</bean>
</beans>
Alfresco 6.x has updated Quartz libraries. This has changed how jobs need to be registered a bit, so most of the examples you can find on the internet won't work because they address versions of Alfresco before 6.x. You can look at the Alfresco source code itself to find how jobs can be registered now.
Ask for and offer help to other Alfresco Content Services Users and members of the Alfresco team.
Related links:
By using this site, you are agreeing to allow us to collect and use cookies as outlined in Alfresco’s Cookie Statement and Terms of Use (and you have a legitimate interest in Alfresco and our products, authorizing us to contact you in such methods). If you are not ok with these terms, please do not use this website.