cancel
Showing results for 
Search instead for 
Did you mean: 

Scheduled Action : nothing happen, why ?

zomurn
Champ in-the-making
Champ in-the-making
Here my .xmlfile configuration

<bean id="archiver-executer"
      class="org.alfresco.module.msc.action.executer.MscArchiverExecuter"
      parent="action-executer">
      <property name="nodeService">
         <ref bean="NodeService" />
      </property>
      <property name="fileFolderService">
         <ref bean="FileFolderService" />
      </property>
      <property name="mscSearchService">
         <ref bean="MscSearchService" />
      </property>
   </bean>

   <!–   Bundle des action executer–>
   <bean id="extension.actionResourceBundles" parent="actionResourceBundles">
      <property name="resourceBundles">
         <list>
            <value>org.alfresco.module.msc.web.resources.msc-web-messages</value>
         </list>
      </property>
   </bean>
<bean id="fromTraiterToArchiverScheduler" parent="baseTemplateActionDefintion">
      <property name="actionName">
         <value>archiver-executer</value>
      </property>
   </bean>
   
   <bean id="templateActionModelFactory" class="org.alfresco.repo.action.scheduled.FreeMarkerWithLuceneExtensionsModelFactory">
        <property name="serviceRegistry">
            <ref bean="ServiceRegistry"/>
        </property>
    </bean>

   <bean id="fromTraiterToArchiverEveryOneHundredDays"
      class="org.alfresco.repo.action.scheduled.CronScheduledQueryBasedTemplateActionDefinition">
      <property name="transactionMode">
         <value>ISOLATED_TRANSACTIONS</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>
<!–       Find all nodes that do not have the aspect –>
      <property name="queryTemplate">
         <value>PATH:"/app:company_home"</value>
      </property>
      <property name="cronExpression">
<!–         <value>* * * 0/100 * ?</value>–>
      <value>0/5 * * * * ?</value>
      </property>
      <property name="jobName">
         <value>fromTraiterToArchiverScheduler</value>
      </property>
      <property name="jobGroup">
         <value>jobGroup</value>
      </property>
      <property name="triggerName">
         <value>triggerA</value>
      </property>
      <property name="triggerGroup">
         <value>triggerGroup</value>
      </property>
      <!–
         Inject the scheduler - the trigger will be registered with this
         scheduler
      –>
      <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="fromTraiterToArchiverScheduler" />
      </property>
      <property name="transactionService">
         <ref bean="TransactionService" />
      </property>
      <property name="runAsUser">
         <value>System</value>
      </property>
   </bean>

why, after this, the code in MscArchiverExecuter is not executed every 30 seconds ?
1 REPLY 1

zomurn
Champ in-the-making
Champ in-the-making
and the code of MscArchiverExecuter :

public class MscArchiverExecuter extends ActionExecuterAbstractBase {

   public static final String   NAME   = "archiver-executer";

   private static Log         log      = LogFactory
                                    .getLog( MscArchiverExecuter.class );

   private FileFolderService   fileFolderService;

   private NodeService         nodeService;

   private MscSearchService   mscSearchService;

   @Override
   protected void addParameterDefinitions(List<ParameterDefinition> pParamList) {

      // TODO Auto-generated method stub

   }

   @Override
   protected void executeImpl(Action pAction, NodeRef pActionedUponNodeRef) {

      System.out.println( "dans archiver-executer" );

      NodeRef lNodeRef = mscSearchService
            .getFolder( MscFolderEnum.FOLDER_TRAITER.getFolderName() );

      NodeRef lDestNodeRef = mscSearchService
            .getFolder( MscFolderEnum.FOLDER_ARCHIVER.getFolderName() );

      List<ChildAssociationRef> lChildren = nodeService
            .getChildAssocs( lNodeRef );

      for (ChildAssociationRef lChild : lChildren)
      {
         NodeRef lSrcNodeRef = lChild.getChildRef();

         String lName = (String) nodeService.getProperty( lSrcNodeRef,
               ContentModel.PROP_NAME );

         if (log.isDebugEnabled())
         {
            log.debug( "Moving node " + lName + " to folder "
                  + MscFolderEnum.FOLDER_ARCHIVER.getFolderName() );
         }
         try
         {
            fileFolderService.move( lSrcNodeRef, lDestNodeRef, null );
         }
         catch (Exception e)
         {
            e.printStackTrace();
            throw new IllegalStateException( "Failed to move document "
                  + lName + " to folder "
                  + MscFolderEnum.FOLDER_ARCHIVER.getFolderName() );

         }
      }

   }

   public void setFileFolderService(FileFolderService pFileFolderService) {

      fileFolderService = pFileFolderService;
   }

   public void setMscSearchService(MscSearchService pMscSearchService) {

      mscSearchService = pMscSearchService;
   }

   public void setNodeService(NodeService pNodeService) {

      nodeService = pNodeService;
   }