RM-273 - RM: PublishUpdatesJob allows concurrent execution

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@36435 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2012-05-16 04:51:20 +00:00
parent 6a4bfb4609
commit 54a12c4174
10 changed files with 448 additions and 279 deletions

View File

@@ -10,27 +10,25 @@
-->
<bean id="scheduledNotifyOfRecordsDueForReviewJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.module.org_alfresco_module_rm.job.NotifyOfRecordsDueForReviewJob</value>
<value>org.alfresco.module.org_alfresco_module_rm.job.RecordsManagementJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="recordsManagementService">
<ref bean="recordsManagementService"/>
<map>
<entry key="jobName" value="scheduledNotifyOfRecordsDueForReview"/>
<entry key="jobLockService">
<ref bean="jobLockService" />
</entry>
<entry key="recordsManagementNotificationHelper">
<ref bean="recordsManagementNotificationHelper"/>
</entry>
<entry key="nodeService">
<ref bean="nodeService" />
<entry key="jobExecuter">
<ref bean="scheduledNotifyOfRecordsDueForReviewJobExecuter" />
</entry>
<entry key="searchService">
<ref bean="searchService" />
</entry>
<entry key="transactionService">
<ref bean="transactionService" />
</entry>
</map>
</property>
</bean>
<bean id="scheduledNotifyOfRecordsDueForReviewJobExecuter" class="org.alfresco.module.org_alfresco_module_rm.job.NotifyOfRecordsDueForReviewJobExecuter">
<property name="nodeService" ref="nodeService" />
<property name="searchService" ref="searchService" />
<property name="recordsManagementNotificationHelper" ref="recordsManagementNotificationHelper" />
</bean>
<bean id="scheduledNotifyOfRecordsDueForReviewJobTrigger" class="org.alfresco.util.CronTriggerBean">
@@ -49,25 +47,27 @@
<!-- Disposition Lifecycle Job -->
<bean id="scheduledDispositionLifecyceleJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.module.org_alfresco_module_rm.job.DispositionLifecycleJob</value>
<value>org.alfresco.module.org_alfresco_module_rm.job.RecordsManagementJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="nodeService">
<ref bean="nodeService" />
</entry>
<entry key="searchService">
<ref bean="searchService" />
</entry>
<entry key="recordsManagementActionService">
<ref bean="recordsManagementActionService" />
</entry>
<entry key="transactionService">
<ref bean="transactionService" />
<map>
<entry key="jobName" value="dispositionLifecycle"/>
<entry key="jobLockService">
<ref bean="jobLockService" />
</entry>
<entry key="jobExecuter">
<ref bean="dispositionLifecycleJobExecuter" />
</entry>
</map>
</property>
</bean>
<bean id="dispositionLifecycleJobExecuter" class="org.alfresco.module.org_alfresco_module_rm.job.DispositionLifecycleJobExecuter">
<property name="nodeService" ref="nodeService" />
<property name="searchService" ref="searchService" />
<property name="retryingTransactionHelper" ref="retryingTransactionHelper" />
<property name="recordsManagementActionService" ref="recordsManagementActionService" />
</bean>
<bean id="scheduledDispositionLifecyceleJobTrigger" class="org.alfresco.util.CronTriggerBean">
<property name="jobDetail">
@@ -84,42 +84,38 @@
<bean id="scheduledPublishUpdatesJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>org.alfresco.module.org_alfresco_module_rm.job.PublishUpdatesJob</value>
<value>org.alfresco.module.org_alfresco_module_rm.job.RecordsManagementJob</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="nodeService">
<ref bean="nodeService" />
</entry>
<entry key="searchService">
<ref bean="searchService" />
</entry>
<entry key="retryingTransactionHelper">
<ref bean="retryingTransactionHelper" />
</entry>
<entry key="publishExecutorRegistry">
<ref bean="publishExecutorRegistry" />
</entry>
<entry key="behaviourFilter">
<ref bean="policyBehaviourFilter" />
<map>
<entry key="jobName" value="publishUpdates"/>
<entry key="jobLockService">
<ref bean="jobLockService" />
</entry>
<entry key="jobExecuter">
<ref bean="publishUpdatesJobExecuter" />
</entry>
</map>
</property>
</bean>
<bean id="scheduledPublishUpdatesJobTrigger" class="org.alfresco.util.CronTriggerBean">
<property name="jobDetail">
<ref bean="scheduledPublishUpdatesJobDetail" />
</property>
<property name="scheduler">
<ref bean="schedulerFactory" />
</property>
<property name="jobDetail" ref="scheduledPublishUpdatesJobDetail" />
<property name="scheduler" ref="schedulerFactory" />
<property name="cronExpression">
<!-- <value>0 30 3 * * ?</value> -->
<value>0/30 * * * * ?</value>
</property>
</bean>
<bean id="publishUpdatesJobExecuter" class="org.alfresco.module.org_alfresco_module_rm.job.PublishUpdatesJobExecuter">
<property name="nodeService" ref="nodeService" />
<property name="searchService" ref="searchService" />
<property name="retryingTransactionHelper" ref="retryingTransactionHelper" />
<property name="publishExecutorRegistry" ref="publishExecutorRegistry" />
<property name="behaviourFilter" ref="policyBehaviourFilter" />
</bean>
<bean id="publishExecutorRegistry" class="org.alfresco.module.org_alfresco_module_rm.job.publish.PublishExecutorRegistry"/>
<bean id="dispositionActionDefintionPublishExecutor"

View File

@@ -87,12 +87,16 @@
</property>
</bean>
<bean id="rmEntryVoter" class="org.alfresco.module.org_alfresco_module_rm.capability.RMEntryVoter" lazy-init="false" parent="RMSecurityCommon">
<bean id="rmEntryVoter"
class="org.alfresco.module.org_alfresco_module_rm.capability.RMEntryVoter"
lazy-init="false"
parent="RMSecurityCommon"
depends-on="CapabilityService">
<!-- Services -->
<property name="namespacePrefixResolver" ref="namespaceService"/>
<property name="dictionaryService" ref="dictionaryService"/>
<property name="dispositionService" ref="dispositionService"/>
<property name="capabilityService" ref="CapabilityService"/>
<property name="capabilityService" ref="capabilityService"/>
</bean>

View File

@@ -229,10 +229,9 @@
<!-- Capability Service -->
<bean id="CapabilityService" class="org.alfresco.module.org_alfresco_module_rm.capability.CapabilityServiceImpl">
<bean id="capabilityService" class="org.alfresco.module.org_alfresco_module_rm.capability.CapabilityServiceImpl">
</bean>
<!--
<bean id="CapabilityService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService</value>
@@ -244,7 +243,7 @@
<list>
<idref local="CapabilityService_transaction"/>
<idref bean="exceptionTranslator"/>
<idref local="CapabilityService_security"/>
<!-- <idref local="CapabilityService_security"/> -->
</list>
</property>
</bean>
@@ -273,15 +272,11 @@
<property name="objectDefinitionSource">
<value>
<![CDATA[
org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService.registerCapability=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService.getCapability=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService.getCapabilities=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService.getCapabilitiesAccessState=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService.*=RM_DENY
org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService.*=RM_ALLOW
]]>
</value>
</property>
</bean> -->
</bean>
<!-- Records Management Search Service -->