Bonjour à tous,
Voila je souhaite exécuter un script chaque soir sur mes nœuds user Alfresco.
je sais que je dois faire un cron , mais je ne comprend pas à quoi correspond chaque balise du fichier XML.
De plus je suis sur une achi maven sdk 3 et je ne sais pas ou placer mon script pour qu'il soit déployée au chemin voulu
voila un bout code que j'ai fait mais il ne fonctionne pas (je sais que value est configuré pour 10 minute) :
<bean id="runScriptResetPassword" 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="cronExpression">
<value>0 0/10 * * * ?</value>
</property>
<property name="jobName">
<value>resetOldPassword</value>
</property>
<property name="triggerName">
<value>SendMailEveryTenMinutesScheduleTrigger</value>
</property>
<property name='triggerGroup'>
<value>triggerGroup</value>
</property>
<property name="scheduler">
<ref bean="schedulerFactory"/>
</property>
<property name="actionService">
<ref bean="ActionService"/>
</property>
<property name="templateActionModelFactory">
<ref bean="templateActionModelFactory"/>
</property>
<property name="templateActionDefinition">
<ref bean="runScriptResetPassword"/>
</property>
<property name="transactionService">
<ref bean="TransactionService"/>
</property>
<property name="runAsUser">
<value>System</value>
</property>
<property name="parameterTemplates">
<map>
<entry>
<key>
<value>script-ref</value>
</key>
<value>\$\{selectSingleNode('workspace://SpacesStore', 'lucene', 'PATH:"/app:company_home/app:dictionary/app:scripts/cm:resetPassword.js"' )\}</value>
</entry>
</map>
</property>
</bean>
</beans>
Bonjour,
A la lecture de votre post j'en déduis que vous suivez cette page : Scheduled Actions
L'extrait XML que vous avez fournit correspond à la définition d'un bean spring se basant sur la classe CronScheduledQueryBasedTemplateActionDefinition
Votre script resetPassword.js doit se trouver dans le dictionnaire de donnée au vue de la configuration du bean :
<value>\$\{selectSingleNode('workspace://SpacesStore', 'lucene', 'PATH:"/app:company_home/app:dictionary/app:scripts/cm:resetPassword.js"' )\}</value>
Il n'est donc pas nécessaire de le mettre dans votre projet maven.
Si vous êtes plus à l'aise avec Java vous pouvez également définir des jobs via ce langage : Scheduled Jobs | Alfresco Documentation
Y.
Merci Yann de ta réponse
j'ai un peu avancé et commence a bien comprendre le système de cron dans Alfresco.
je pense avoir bien set mon cron mais j'ai une erreur :
2017-06-16 11:00:20,559 ERROR [quartz.core.JobRunShell] [DefaultScheduler_Worker-2] Job jobGroup_ver.jobA threw an unhandled Exception:
java.lang.ClassCastException: org.alfresco.repo.action.scheduled.SimpleTemplateActionDefinition cannot be cast to org.alfresco.repo.action.executer.ActionExecuter
at org.alfresco.repo.action.scheduled.SimpleTemplateActionDefinition.getAction(SimpleTemplateActionDefinition.java:178)
at org.alfresco.repo.action.scheduled.CronScheduledQueryBasedTemplateActionDefinition.getAction(CronScheduledQueryBasedTemplateActionDefinition.java:282)
at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1$1.execute(AbstractScheduledAction.java:477)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:464)
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:333)
at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1.runTransactionalActions(AbstractScheduledAction.java:465)
at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition$1.doWork(AbstractScheduledAction.java:417)
at org.alfresco.repo.security.authentication.AuthenticationUtil.runAs(AuthenticationUtil.java:555)
at org.alfresco.repo.action.scheduled.AbstractScheduledAction$JobDefinition.execute(AbstractScheduledAction.java:399)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)
Merci encore !
Discussions about Alfresco Content Services and Alfresco Process Services in French
Related:
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.