Alfresco and Quartz using Jdbcjobstore

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-17-2010 09:26 AM
Hi all,
i have this Environment:
- ALFRESCO: Community Current version 3.2.0 (r2 2440) schema 3300
- OS: Windows xp 32 bit , RAM 2,5G , Intel Core Duo 2,1 GHz
- AS: Tomcat 6.0.18
- JAVA: Jdk 6.0_11. Heap 986,125MB
- DB :Mysql 5.1.35 Community
I try to use Quartz with Jdbcjobstore, this is my quartz.properties:
But i have this error:
The error is due to something is not serializable.
How can i do it ( quartz on DB)?
Regards
i have this Environment:
- ALFRESCO: Community Current version 3.2.0 (r2 2440) schema 3300
- OS: Windows xp 32 bit , RAM 2,5G , Intel Core Duo 2,1 GHz
- AS: Tomcat 6.0.18
- JAVA: Jdk 6.0_11. Heap 986,125MB
- DB :Mysql 5.1.35 Community
I try to use Quartz with Jdbcjobstore, this is my quartz.properties:
#============================================================================# Configure Main Scheduler Properties #============================================================================ org.quartz.scheduler.instanceName = TestSchedulerorg.quartz.scheduler.instanceId = AUTO #============================================================================# Configure ThreadPool #============================================================================ org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPoolorg.quartz.threadPool.threadCount = 10org.quartz.threadPool.threadPriority = 3 #============================================================================# Configure JobStore #============================================================================ org.quartz.jobStore.misfireThreshold = 60000 #org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX#org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate#org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegateorg.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegateorg.quartz.jobStore.dataSource = myDSorg.quartz.jobStore.tablePrefix = QRTZ_org.quartz.jobStore.isClustered = true #============================================================================# Configure Datasources #============================================================================#org.quartz.dataSource.myDS.jndiURL = java:comp/env/jdbc/QuartzLocalDS#org.quartz.dataSource.NAME.jndiAlwaysLookup = DB_JNDI_ALWAYS_LOOKUP#org.quartz.dataSource.NAME.java.naming.factory.initial = JNDI_CTXT_FACTORY#org.quartz.dataSource.NAME.java.naming.provider.url = JNDI_PROVIDER_URL#org.quartz.dataSource.NAME.java.naming.security.principal = JNDI_PRINCIPAL#org.quartz.dataSource.NAME.java.naming.security.credentials = JNDI_CREDENTIALS#org.quartz.dataSource.myDS.driver = oracle.jdbc.driver.OracleDriver#org.quartz.dataSource.myDS.URL = jdbc:oracle:thin:@10.10.22.151:1521:quartz#org.quartz.dataSource.myDS.user = quartz16#org.quartz.dataSource.myDS.password = quartz16#org.quartz.dataSource.myDS.maxConnections = 5 org.quartz.dataSource.myDS.driver = org.gjt.mm.mysql.Driverorg.quartz.dataSource.myDS.URL = jdbc:mysql://localhost/alfrescoorg.quartz.dataSource.myDS.user = alfrescoorg.quartz.dataSource.myDS.password = alfrescoorg.quartz.dataSource.myDS.maxConnections = 5 #============================================================================# Configure Plugins #============================================================================ org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPluginorg.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin# init plugin will load jobs.xml as a classpath resource i.e. /jobs.xml if not found on file systemorg.quartz.plugin.jobInitializer.fileNames=jobs.xmlorg.quartz.plugin.jobInitializer.overWriteExistingJobs = falseorg.quartz.plugin.jobInitializer.failOnFileNotFound = false
But i have this error:
15:09:26,343 ERROR [org.springframework.web.context.ContextLoader] Context initialization failedorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ftsIndexerTrigger' defined in class path resource [alfresco/scheduled-jobs-context.xml]: Invocation of init method failed; nested exception is org.quartz.JobPersistenceException: Couldn't store job: Unable to serialize JobDataMap for insertion into database because the value of property 'bean' is not serializable: org.springframework.beans.factory.support.DefaultListableBeanFactory [See nested exception: java.io.NotSerializableException: Unable to serialize JobDataMap for insertion into database because the value of property 'bean' is not serializable: org.springframework.beans.factory.support.DefaultListableBeanFactory]Caused by: org.quartz.JobPersistenceException: Couldn't store job: Unable to serialize JobDataMap for insertion into database because the value of property 'bean' is not serializable: org.springframework.beans.factory.support.DefaultListableBeanFactory [See nested exception: java.io.NotSerializableException: Unable to serialize JobDataMap for insertion into database because the value of property 'bean' is not serializable: org.springframework.beans.factory.support.DefaultListableBeanFactory] at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1041) at org.quartz.impl.jdbcjobstore.JobStoreSupport$3.execute(JobStoreSupport.java:983) at org.quartz.impl.jdbcjobstore.JobStoreSupport$39.execute(JobStoreSupport.java:3590) at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3662) at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:93) at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInLock(JobStoreSupport.java:3586) at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJobAndTrigger(JobStoreSupport.java:971) at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:703) at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:255) at org.alfresco.util.AbstractTriggerBean.afterPropertiesSet(AbstractTriggerBean.java:118) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) at org.alfresco.web.app.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:69) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:578) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)Caused by: java.io.NotSerializableException: Unable to serialize JobDataMap for insertion into database because the value of property 'bean' is not serializable: org.springframework.beans.factory.support.DefaultListableBeanFactory at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.serializeJobData(StdJDBCDelegate.java:3354) at org.quartz.impl.jdbcjobstore.StdJDBCDelegate.insertJobDetail(StdJDBCDelegate.java:515) at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1038) … 46 more
The error is due to something is not serializable.
How can i do it ( quartz on DB)?
Regards
Labels:
- Labels:
-
Archive
4 REPLIES 4

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-18-2010 04:22 AM
Hi all,
i have the same problem on a different stack but with the same version of Alfresco.
i have the same problem on a different stack but with the same version of Alfresco.

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-18-2010 09:52 AM
Hi all,
nobody can help me?
nobody can help me?

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-18-2010 01:08 PM
Can you show us your scheduled-jobs-context.xml file?
The ftsIndexerTrigger bean in particular.
The ftsIndexerTrigger bean in particular.

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-19-2010 04:14 AM
Hi,
this is the default scheduled-jobs-context.xml
I tested with using my scheduled-action-services-context.xml and also without using scheduled-action-services-context.xml
Regards.
this is the default scheduled-jobs-context.xml
<?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="resourceFinder" class="org.alfresco.util.ResourceFinder"/> <bean id="schedulerResources" factory-bean="resourceFinder" factory-method="getResources"> <constructor-arg> <list> <value>classpath:alfresco/domain/quartz.properties</value> <value>classpath*:alfresco/enterprise/*-quartz.properties</value> <value>classpath*:alfresco/extension/*-quartz.properties</value> </list> </constructor-arg> </bean> <bean id="schedulerProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="locations"> <ref bean="schedulerResources" /> </property> </bean> <!– Task scheduler –> <!– Triggers should not appear here - the scheduler should be injected into the trigger definition –> <!– This bean should not need to apear else where in extension configuration –> <bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="waitForJobsToCompleteOnShutdown"> <value>true</value> </property> <property name="schedulerFactoryClass"> <value>org.alfresco.repo.scheduler.AlfrescoSchedulerFactory</value> </property> <property name="quartzProperties"> <ref bean="schedulerProperties" /> </property> <property name="schedulerName"> <value>DefaultScheduler</value> </property> <!– Do not auto start the scheduler - this is done at the end of the bootstrap process –> <property name="autoStartup"> <value>false</value> </property> </bean> <!– –> <!– Scheduled tasks –> <!– –> <bean id="ftsIndexerTrigger" class="org.alfresco.util.TriggerBean"> <property name="jobDetail"> <bean id="ftsIndexerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.search.impl.lucene.fts.FTSIndexerJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="bean"> <ref bean="LuceneFullTextSearchIndexer" /> </entry> </map> </property> </bean> </property> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <property name="startDelayMinutes"> <value>1</value> </property> <property name="repeatIntervalMinutes"> <value>1</value> </property> </bean> <!– This has now been moved into the bootstrap process and is not required here –> <!– <bean id="indexRecoveryTrigger" class="org.alfresco.util.TriggerBean"> <property name="jobDetail"> <bean class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.node.index.IndexRecoveryJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="indexRecoveryComponent"> <ref bean="indexRecoveryComponent" /> </entry> </map> </property> </bean> </property> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <property name="startDelayMinutes"> <value>1</value> </property> <property name="repeatCount"> <value>0</value> </property> </bean> –> <bean id="tempFileCleanerTrigger" class="org.alfresco.util.TriggerBean"> <property name="jobDetail"> <bean id="tempFileCleanerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.util.TempFileProvider$TempFileCleanerJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="protectHours"> <value>1</value> </entry> </map> </property> </bean> </property> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <!– start after half an hour and repeat hourly –> <property name="startDelayMinutes"> <value>30</value> </property> <property name="repeatIntervalMinutes"> <value>60</value> </property> </bean><!– <bean id="fileContentStoreCleanerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.content.cleanup.ContentStoreCleanupJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="contentStoreCleaner"> <ref bean="contentStoreCleaner" /> </entry> </map> </property> </bean> <bean id="contentStoreCleanerTrigger" class="org.alfresco.util.CronTriggerBean"> <property name="jobDetail"> <ref bean="fileContentStoreCleanerJobDetail" /> </property> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <property name="cronExpression"> <value>0 0 4 * * ?</value> </property> </bean>–> <bean id="nodeServiceCleanupJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.node.cleanup.NodeCleanupJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="nodeCleanupWorker"> <ref bean="nodeCleanupRegistry" /> </entry> </map> </property> </bean> <bean id="nodeServiceCleanupTrigger" class="org.alfresco.util.CronTriggerBean"> <property name="jobDetail"> <ref bean="nodeServiceCleanupJobDetail" /> </property> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <property name="cronExpression"> <value>0 0 21 * * ?</value> </property> </bean> <bean id="indexBackupJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerAndSearcherFactory$LuceneIndexBackupJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="luceneIndexBackupComponent"> <ref bean="luceneIndexBackupComponent" /> </entry> </map> </property> </bean> <bean id="indexBackupTrigger" class="org.alfresco.util.CronTriggerBean"> <property name="jobDetail"> <ref bean="indexBackupJobDetail" /> </property> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <!– trigger at 3am each day –> <property name="cronExpression"> <value>0 0 3 * * ?</value> </property> </bean> <!– enable DEBUG for 'org.alfresco.repo.cache.EhCacheTracerJob' and enable scheduler property to activate –> <bean id="ehCacheTracerJob" class="org.alfresco.util.TriggerBean"> <property name="jobDetail"> <bean id="ehCacheTracerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.cache.EhCacheTracerJob</value> </property> </bean> </property> <!– enable this to activate bean <property name="scheduler"> <ref bean="schedulerFactory" /> </property> –> <!– start after an hour and repeat hourly –> <property name="startDelayMinutes"> <value>60</value> </property> <property name="repeatIntervalMinutes"> <value>60</value> </property> </bean> <bean id="avmOrphanReaperJob" class="org.alfresco.util.TriggerBean"> <property name="jobDetail"> <bean id="avmOrphanReaperJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.avm.OrphanReaperJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="orphanReaper"> <ref bean="orphanReaper"/> </entry> </map> </property> </bean> </property> <property name="scheduler"> <ref bean="schedulerFactory"/> </property> <property name="startDelayMinutes"> <value>1</value> </property> <property name="repeatIntervalMinutes"> <value>1</value> </property> </bean> <!– Job to scan for expired content in website staging areas –> <bean id="avmExpiredContentTrigger" class="org.alfresco.util.CronTriggerBean"> <property name="jobDetail"> <bean id="avmExpiredContentJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.avm.AVMExpiredContentJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="expiredContentProcessor"> <ref bean="avmExpiredContentProcessor" /> </entry> </map> </property> </bean> </property> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <!– trigger at 3:30am each day –> <property name="cronExpression"> <value>0 30 3 * * ?</value> </property> </bean> <!– enable scheduler property to activate –> <bean id="userUsageCollapseJob" class="org.alfresco.util.TriggerBean"> <property name="jobDetail"> <bean id="userUsageTrackingJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.usage.UserUsageCollapseJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="userUsageTrackingComponent"> <ref bean="userUsageTrackingComponent" /> </entry> </map> </property> </bean> </property> <!– enable this to activate bean –> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <!– start after 5 minutes and repeat every 5 minutes –> <property name="startDelayMinutes"> <value>5</value> </property> <property name="repeatIntervalMinutes"> <value>5</value> </property> </bean> <!– There is a job available to purge old deploymentattempt nodes –> <!– from the repository. The maximum age of the node can be configured. –> <!– See the wiki (http://wiki.alfresco.com/wikiDeployment) for details –> <!– and the deployment-attempt-cleaner-context.xml.sample file. –> <!– Activities Feed Cleaner –> <bean id="feedCleanerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.activities.feed.cleanup.FeedCleanupJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="feedCleaner"> <ref bean="feedCleaner" /> </entry> </map> </property> </bean> <bean id="feedCleanerTrigger" class="org.alfresco.util.TriggerBean"> <property name="jobDetail"> <ref bean="feedCleanerJobDetail" /> </property> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <property name="startDelayMinutes"> <value>5</value> </property> <property name="repeatIntervalMinutes"> <value>10</value> </property> </bean> <bean id="feedGeneratorJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.activities.feed.FeedGeneratorJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="feedGenerator"> <ref bean="feedGenerator" /> </entry> </map> </property> </bean> <bean id="feedGeneratorTrigger" class="org.alfresco.util.TriggerBean"> <property name="jobDetail"> <ref bean="feedGeneratorJobDetail" /> </property> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <property name="startDelayMinutes"> <value>0</value> </property> <property name="repeatInterval"> <value>30000</value> <!– 30000 msecs = 30 seconds –> </property> </bean> <!– Activities Post Lookup (for secondary lookup) –> <bean id="postLookupJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.activities.post.lookup.PostLookupJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="postLookup"> <ref bean="postLookup" /> </entry> </map> </property> </bean> <bean id="postLookupTrigger" class="org.alfresco.util.TriggerBean"> <property name="jobDetail"> <ref bean="postLookupJobDetail" /> </property> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <property name="startDelayMinutes"> <value>1</value> </property> <property name="repeatInterval"> <value>15000</value> <!– 15000 msecs = 15 seconds –> </property> </bean> <!– Activities Post Cleaner –> <bean id="postCleanerJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.activities.post.cleanup.PostCleanupJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="postCleaner"> <ref bean="postCleaner" /> </entry> </map> </property> </bean> <bean id="postCleanerTrigger" class="org.alfresco.util.TriggerBean"> <property name="jobDetail"> <ref bean="postCleanerJobDetail" /> </property> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <property name="startDelayMinutes"> <value>10</value> </property> <property name="repeatIntervalMinutes"> <value>10</value> </property> </bean> <!– enable scheduler property to activate –> <bean id="versionStoreMigrationCleanupJob" class="org.alfresco.util.TriggerBean"> <property name="jobDetail"> <bean id="versionStoreMigrationCleanupDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>org.alfresco.repo.version.MigrationCleanupJob</value> </property> <property name="jobDataAsMap"> <map> <entry key="versionMigrator"> <ref bean="versionMigrator" /> </entry> <entry key="tenantAdminService"> <ref bean="tenantAdminService" /> </entry> </map> </property> </bean> </property> <!– enable this to activate bean –> <property name="scheduler"> <ref bean="schedulerFactory" /> </property> <!– start after bootstrap (1 minute) and run once –> <property name="startDelayMinutes"> <value>1</value> </property> <property name="repeatCount"> <value>0</value> </property> </bean></beans>
I tested with using my scheduled-action-services-context.xml and also without using scheduled-action-services-context.xml
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'><beans> <!– Define the model factory used to generate object models suitable for use with freemarker templates. –> <bean id="templateActionModelFactory" class="org.alfresco.repo.action.scheduled.FreeMarkerWithLuceneExtensionsModelFactory"> <property name="serviceRegistry"> <ref bean="ServiceRegistry"/> </property> </bean> <!– An example action template that defines an action to add the generalclassifiable aspect to all nodes that do not have and add a category defined by path. –> <bean id="addAmministratiAction" class="org.alfresco.repo.action.scheduled.SimpleTemplateActionDefinition"> <property name="actionName"> <value>AmministratiActionExecuter</value> </property> <property name="parameterTemplates"> <map> <entry> <key> <value>QUERY</value> </key> <value>PROVA</value> </entry> </map> </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="addClassifiableAspectEveryTenMinutes" 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> <!– Find all nodes that do not have the aspect –> <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="scheduler"> <ref bean="schedulerFactory"/> </property> <property name="actionService"> <ref bean="ActionService"/> </property> <property name="templateActionModelFactory"> <ref bean="templateActionModelFactory"/> </property> <property name="templateActionDefinition"> <ref bean="addAmministratiAction"/> </property> <property name="transactionService"> <ref bean="TransactionService"/> </property> <property name="runAsUser"> <value>System</value> </property> </bean> </beans>
Regards.
