Scheduled Task
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-03-2008 11:12 AM
I'm trying to schedule a task to run every minute. Right now it throws this:
I can run my action just fine from the GUI.
My scheduled-action-services-context.xml is:
Thanks for the help!
10:43:00,025 INFO [STDOUT] 10:43:00,025 User:System ERROR [quartz.core.JobRunShell] Job jobGroup.jobA threw an unhandled Exception:java.lang.NullPointerException at org.alfresco.repo.action.scheduled.SimpleTemplateActionDefinition.getAction(SimpleTemplateActionDefinition.java:183) at org.alfresco.repo.action.scheduled.CronScheduledQueryBasedTemplateActionDefinition.getAction(CronScheduledQueryBasedTemplateActionDefinition.java:268) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1$2.execute(AbstractScheduledAction.java:570) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:236) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:166) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1.runTransactionalAction(AbstractScheduledAction.java:564) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1.doWork(AbstractScheduledAction.java:432) at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:299) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition.execute(AbstractScheduledAction.java:398) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)10:43:00,027 INFO [STDOUT] 10:43:00,027 User:System ERROR [quartz.core.ErrorLogger] Job (jobGroup.jobA threw an exception.org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.NullPointerException] at org.quartz.core.JobRunShell.run(JobRunShell.java:213) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)Caused by: java.lang.NullPointerException at org.alfresco.repo.action.scheduled.SimpleTemplateActionDefinition.getAction(SimpleTemplateActionDefinition.java:183) at org.alfresco.repo.action.scheduled.CronScheduledQueryBasedTemplateActionDefinition.getAction(CronScheduledQueryBasedTemplateActionDefinition.java:268) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1$2.execute(AbstractScheduledAction.java:570) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:236) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:166) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1.runTransactionalAction(AbstractScheduledAction.java:564) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1.doWork(AbstractScheduledAction.java:432) at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:299) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition.execute(AbstractScheduledAction.java:398) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) … 1 more
It doesn't look like it's finding the action.I can run my action just fine from the GUI.
My scheduled-action-services-context.xml is:
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'><beans> <bean id="templateActionModelFactory" class="org.alfresco.repo.action.scheduled.FreeMarkerWithLuceneExtensionsModelFactory"> <property name="serviceRegistry"> <ref bean="ServiceRegistry"/> </property> </bean> <bean id="checkExpires" class="org.alfresco.repo.action.scheduled.SimpleTemplateActionDefinition"> <property name="actionName"> <value>check-expires</value> </property> <property name="templateActionModelFactory"> <ref bean="templateActionModelFactory"/> </property> <property name="dictionaryService"> <ref bean="DictionaryService"/> </property> <property name="actionService"> <ref bean="ActionService"/> </property> <property name="templateService"> <ref bean="TemplateService"/> </property> </bean> <bean id="checkExpiresEveryMinute" class="org.alfresco.repo.action.scheduled.CronScheduledQueryBasedTemplateActionDefinition"> <property name="transactionMode"> <value>UNTIL_FIRST_FAILURE</value> </property> <property name="compensatingActionMode"> <value>IGNORE</value> </property> <property name="searchService"> <ref bean="SearchService"/> </property> <property name="templateService"> <ref bean="TemplateService"/> </property> <property name="queryLanguage"> <value>lucene</value> </property> <property name="stores"> <list> <value>workspace://SpacesStore</value> </list> </property> <property name="queryTemplate"> <value>PATH:"/app:company_home"</value> </property> <property name="cronExpression"> <value>0 0/1 * * * ?</value> </property> <property name="jobName"> <value>jobA</value> </property> <property name="jobGroup"> <value>jobGroup</value> </property> <property name="triggerName"> <value>triggerA</value> </property> <property name="triggerGroup"> <value>triggerGroup</value> </property> <property name="templateActionModelFactory"> <ref bean="templateActionModelFactory"/> </property> <property name="scheduler"> <ref bean="schedulerFactory"/> </property> <property name="actionService"> <ref bean="ActionService"/> </property> <property name="templateActionDefinition"> <ref bean="checkExpires"/> <!– This is name of the action (bean) that gets run –> </property> <property name="transactionService"> <ref bean="TransactionService"/> </property> <property name="runAsUser"> <value>System</value> </property> </bean> </beans>
Thanks for the help!
Labels:
- Labels:
-
Archive
2 REPLIES 2

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-03-2008 06:49 PM
Looks like SimpleTemplateActionDefinition has an extra property that you need to set called parameterTemplats (see signature below). From looking at code, the exception is thrown because it's not set. Set it a template, and I think your NPE should go away.
/**
* Set the map of parameters used by the template.
* These are processed via the template service to produce the actual poarameters.
*
* @param parameterTemplates
*/
public void setParameterTemplates(Map<String, String> parameterTemplates)
{
this.parameterTemplates = parameterTemplates;
}
/**
* Set the map of parameters used by the template.
* These are processed via the template service to produce the actual poarameters.
*
* @param parameterTemplates
*/
public void setParameterTemplates(Map<String, String> parameterTemplates)
{
this.parameterTemplates = parameterTemplates;
}
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-04-2008 08:32 AM
Thanks. It looks like I'm getting the same exception though.
07:31:00,189 INFO [STDOUT] 07:31:00,188 User:System ERROR [quartz.core.JobRunShell] Job jobGroup.jobA threw an unhandled Exception:java.lang.NullPointerException at org.alfresco.repo.action.scheduled.SimpleTemplateActionDefinition.getAction(SimpleTemplateActionDefinition.java:183) at org.alfresco.repo.action.scheduled.CronScheduledQueryBasedTemplateActionDefinition.getAction(CronScheduledQueryBasedTemplateActionDefinition.java:268) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1$2.execute(AbstractScheduledAction.java:570) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:236) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:166) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1.runTransactionalAction(AbstractScheduledAction.java:564) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1.doWork(AbstractScheduledAction.java:432) at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:299) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition.execute(AbstractScheduledAction.java:398) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)07:31:00,203 INFO [STDOUT] 07:31:00,202 User:System ERROR [quartz.core.ErrorLogger] Job (jobGroup.jobA threw an exception.org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.NullPointerException] at org.quartz.core.JobRunShell.run(JobRunShell.java:213) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)Caused by: java.lang.NullPointerException at org.alfresco.repo.action.scheduled.SimpleTemplateActionDefinition.getAction(SimpleTemplateActionDefinition.java:183) at org.alfresco.repo.action.scheduled.CronScheduledQueryBasedTemplateActionDefinition.getAction(CronScheduledQueryBasedTemplateActionDefinition.java:268) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1$2.execute(AbstractScheduledAction.java:570) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:236) at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:166) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1.runTransactionalAction(AbstractScheduledAction.java:564) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1.doWork(AbstractScheduledAction.java:432) at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:299) at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition.execute(AbstractScheduledAction.java:398) at org.quartz.core.JobRunShell.run(JobRunShell.java:202) … 1 more
