mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
44909: Creating branch for activiti 5.11 upgrade 44913: Upgraded to activiti 5.11 - to be validated 45025: Removing obsolete libraries 45026: Preventing optimistic locking during task-update sequence git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@45028 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
833 lines
36 KiB
XML
833 lines
36 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
|
|
|
|
|
<!--
|
|
Repository Bootstrap Sequence.
|
|
|
|
This file specifies the initialisation (and order of initialisation) to perform during Repository startup.
|
|
|
|
The pattern for adding new initialisation to the bootstrap sequence is as follows:
|
|
|
|
1) Develop a bean that extends the Spring Surf class AbstractLifecycleBean
|
|
2) Place the initialisation logic in the method onBootstrap(ApplicationEvent event)...
|
|
|
|
public void onBootstrap(ApplicationEvent event)
|
|
{
|
|
// initialisation logic here
|
|
}
|
|
3) Place the shutdown logic (if any) in the method onShutdown(ApplicationEvent event)...
|
|
|
|
public void onShutdown(ApplicationEvent event)
|
|
{
|
|
// cleanup logic here
|
|
}
|
|
|
|
4) Add the bean definition to this file - Note: the beans are initialised in the order they are specified.
|
|
-->
|
|
|
|
<beans>
|
|
|
|
<!--
|
|
The Shutdown Backstop Bean is a special bean which is used to terminate Alfresco if its
|
|
normal shutdown does not complete in a reasonable time - it needs to go first so it can
|
|
terminate any of the following beans if they misbehave.
|
|
-->
|
|
<bean id="shutdownBackstop" class="org.alfresco.repo.shutdown.ShutdownBackstop">
|
|
<property name="timeout">
|
|
<value>${shutdown.backstop.timeout}</value>
|
|
</property>
|
|
<property name="enabled">
|
|
<value>${shutdown.backstop.enabled}</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="repositoryStartBootstrapBean" class="org.alfresco.repo.admin.RepositoryStartBootstrapBean" >
|
|
<property name="repositoryState">
|
|
<ref bean="repositoryState"/>
|
|
</property>
|
|
</bean>
|
|
|
|
|
|
<!-- ensure that the schema is bootstrapped -->
|
|
<bean id="schemaBootstrap" class="org.alfresco.repo.domain.schema.SchemaBootstrap" >
|
|
<property name="dataSource">
|
|
<ref bean="dataSource"/>
|
|
</property>
|
|
<property name="localSessionFactory">
|
|
<ref bean="&sessionFactory"></ref> <!-- inject the actual factory, not a session -->
|
|
</property>
|
|
<property name="descriptorService">
|
|
<ref bean="descriptorComponent"/>
|
|
</property>
|
|
<property name="dialect">
|
|
<ref bean="dialect" />
|
|
</property>
|
|
<property name="maximumStringLength">
|
|
<value>${system.maximumStringLength}</value>
|
|
</property>
|
|
<property name="hibernateMaxExecutions">
|
|
<value>${system.hibernateMaxExecutions}</value>
|
|
</property>
|
|
<property name="updateSchema">
|
|
<value>${db.schema.update}</value>
|
|
</property>
|
|
<property name="stopAfterSchemaBootstrap">
|
|
<value>${db.schema.stopAfterSchemaBootstrap}</value>
|
|
</property>
|
|
<property name="schemaUpdateLockRetryCount">
|
|
<value>${db.schema.update.lockRetryCount}</value>
|
|
</property>
|
|
<property name="schemaUpdateLockRetryWaitSeconds">
|
|
<value>${db.schema.update.lockRetryWaitSeconds}</value>
|
|
</property>
|
|
<property name="globalProperties">
|
|
<ref bean="global-properties" />
|
|
</property>
|
|
<property name="preCreateScriptUrls">
|
|
<list>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-RepoTables.sql</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-LockTables.sql</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-ContentTables.sql</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-PropertyValueTables.sql</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-AuditTables.sql</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-AvmTables.sql</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-ActivityTables.sql</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-UsageTables.sql</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-SubscriptionTables.sql</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoCreate-TenantTables.sql</value>
|
|
</list>
|
|
</property>
|
|
<property name="postCreateScriptUrls">
|
|
<list>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoPostCreate-JBPM-Extra.sql</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoPostCreate-JBPM-FK-indexes.sql</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/AlfrescoPostCreate-JBPM-varinst-indexes.sql</value>
|
|
</list>
|
|
</property>
|
|
<property name="schemaReferenceUrls">
|
|
<list>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/Schema-Reference-ALF.xml</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/Schema-Reference-AVM.xml</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/Schema-Reference-JBPM.xml</value>
|
|
<value>classpath:alfresco/dbscripts/create/${db.script.dialect}/Schema-Reference-ACT.xml</value>
|
|
</list>
|
|
</property>
|
|
<property name="validateUpdateScriptPatches">
|
|
<list>
|
|
</list>
|
|
</property>
|
|
<property name="preUpdateScriptPatches">
|
|
<list>
|
|
<ref bean="patch.db-V2.2-ACL-From-2.1-A" />
|
|
<ref bean="patch.db-V2.2-ACL" />
|
|
<ref bean="patch.db-V2.2-CleanNodeStatuses" />
|
|
<ref bean="patch.db-V2.2-0-CreateMissingTables" />
|
|
<ref bean="patch.db-V2.2-Upgrade-From-2.1" />
|
|
<ref bean="patch.db-V2.2-Upgrade-From-2.2SP1" />
|
|
<ref bean="patch.db-V2.2-Person-3" />
|
|
<ref bean="patch.db-V3.2-LockTables" />
|
|
<ref bean="patch.db-V3.2-ContentTables" />
|
|
<ref bean="patch.db-V3.2-ContentTables2" />
|
|
<ref bean="patch.db-V3.2-PropertyValueTables" />
|
|
<ref bean="patch.db-V3.2-AuditTables" />
|
|
<ref bean="patch.db-V3.2-Child-Assoc-QName-CRC" />
|
|
<ref bean="patch.db-V3.3-modify-index-permission_id" />
|
|
<ref bean="patch.db-V3.2-AddFKIndexes" />
|
|
<ref bean="patch.db-V3.2-AddFKIndexes-2" />
|
|
<ref bean="patch.db-V3.0-ActivityTables" />
|
|
</list>
|
|
</property>
|
|
<property name="postUpdateScriptPatches">
|
|
<list>
|
|
<ref bean="patch.db-V3.1-Allow-IPv6" />
|
|
<ref bean="patch.db-V3.2-Remove-AVM-Issuer" />
|
|
<ref bean="patch.db-V3.2-Modify-AVM-MimeType" />
|
|
<ref bean="patch.db-V3.3-Remove-VersionCount" />
|
|
<ref bean="patch.db-V3.3-Fix-Repo-Seqs" />
|
|
<ref bean="patch.db-V3.3-Fix-AVM-Seqs" />
|
|
<ref bean="patch.db-V3.3-JBPM-Extra" />
|
|
<ref bean="patch.db-V3.3-Node-Prop-Serializable" />
|
|
<ref bean="patch.db-V3.4-property-unique-ctx-value" />
|
|
<ref bean="patch.db-V3.4-property-unique-ctx-idx" />
|
|
<ref bean="patch.db-V3.4-authority-unique-idx" />
|
|
<ref bean="patch.db-V3.4-child-assoc-indexes" />
|
|
<ref bean="patch.db-V3.4-RemovingLinkValidationMetadata" />
|
|
<ref bean="patch.db-V3.4-AVM-rename-dupes" />
|
|
<ref bean="patch.db-V3.4-VarcharFieldSizesQuadrupleIncreasing" />
|
|
<ref bean="patch.db-V3.4-JBPM-FK-indexes" />
|
|
<ref bean="patch.db-V3.4-Upgrade-JBPM" />
|
|
<ref bean="patch.db-V3.4-alter-jBPM331-CLOB-columns-to-nvarchar" />
|
|
<ref bean="patch.db-V3.4-AVM-index-child-entries-lower" />
|
|
<ref bean="patch.db-V3.4-JBPM-varinst-indexes" />
|
|
<ref bean="patch.db-V3.4-remove-redundant-jbpm-indexes" />
|
|
<ref bean="patch.db-V4.0-AclChangeSet" />
|
|
<ref bean="patch.db-V4.0-NodeAssoc-Ordering" />
|
|
<ref bean="patch.db-V4.0-Node-Locale" />
|
|
<ref bean="patch.db-V4.0-SubscriptionTables" />
|
|
<ref bean="patch.db-V4.0-SolrTracking" />
|
|
<ref bean="patch.db-V4.0-AclChangeSet2" />
|
|
<ref bean="patch.db-V4.0-Activiti-task-id-indexes" />
|
|
<ref bean="patch.db-V4.0-TenantTables" />
|
|
<ref bean="patch.db-V4.1-NodeDeleted" />
|
|
<ref bean="patch.db-V4.1-increase-column-size-activiti" />
|
|
<ref bean="patch.db-V4.1-remove-column-activiti" />
|
|
<ref bean="patch.db-V4.2-upgrade-to-activiti-5.10" />
|
|
<ref bean="patch.db-V4.1-rename-constraint-activiti" />
|
|
<ref bean="patch.db-V4.2-add-activti-index-historic-activity" />
|
|
<ref bean="patch.db-V4.2-upgrade-to-activiti-5.11" />
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="encryptionChecker" class="org.alfresco.encryption.EncryptionChecker">
|
|
<property name="transactionService" ref="transactionService"/>
|
|
<property name="keyStoreChecker" ref="keyStoreChecker"/>
|
|
</bean>
|
|
|
|
<!-- node indexing for ADM -->
|
|
<bean id="nodeIndexer" class="org.alfresco.repo.node.index.NodeIndexer">
|
|
<property name="disabled">
|
|
<value>${index.tracking.disableInTransactionIndexing}</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Bootstrap the AVM -->
|
|
<bean id="avmBootstrap" class="org.alfresco.repo.avm.AvmBootstrap" >
|
|
<property name="avmLockingAwareService">
|
|
<ref bean="avmLockingAwareService"/>
|
|
</property>
|
|
<property name="avmRepository">
|
|
<ref bean="avmRepository"/>
|
|
</property>
|
|
<property name="permissionService">
|
|
<ref bean="permissionService"/>
|
|
</property>
|
|
<property name="avmSyncService">
|
|
<ref bean="avmSyncService"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Load models -->
|
|
<bean id="dictionaryRepositoryBootstrap" class="org.alfresco.repo.dictionary.DictionaryRepositoryBootstrap">
|
|
|
|
<property name="dictionaryDAO" ref="dictionaryDAO"/>
|
|
<property name="contentService" ref="ContentService"/>
|
|
<property name="transactionService" ref="transactionService"/>
|
|
<property name="namespaceService" ref="namespaceService"/>
|
|
<property name="nodeService" ref="nodeService"/>
|
|
<property name="messageService" ref="messageService"/>
|
|
<property name="tenantAdminService" ref="tenantAdminService"/>
|
|
|
|
<property name="repositoryModelsLocations">
|
|
<list>
|
|
<ref bean="customModelsRepositoryLocation" />
|
|
</list>
|
|
</property>
|
|
|
|
<property name="repositoryMessagesLocations">
|
|
<list>
|
|
<ref bean="customMessagesRepositoryLocation" />
|
|
</list>
|
|
</property>
|
|
|
|
</bean>
|
|
|
|
<bean id="bootstrapReEncryptor" class="org.alfresco.encryption.BootstrapReEncryptor">
|
|
<property name="enabled" value="${encryption.bootstrap.reencrypt}"/>
|
|
<property name="reEncryptor" ref="reEncryptor"/>
|
|
</bean>
|
|
|
|
<!-- Bootstrap Data: Concrete instances for the basic Alfresco bootstrap -->
|
|
<bean id="systemInfoBootstrap" parent="systemInfoBootstrap-base" singleton="true" />
|
|
<bean id="userBootstrap" parent="userBootstrap-base" singleton="true" />
|
|
<bean id="systemBootstrap" parent="systemBootstrap-base" singleton="true" />
|
|
<bean id="versionBootstrap" parent="versionBootstrap-base" singleton="true" />
|
|
<bean id="version2Bootstrap" parent="version2Bootstrap-base" singleton="true" />
|
|
<bean id="spacesArchiveBootstrap" parent="spacesArchiveBootstrap-base" singleton="true" />
|
|
<!--
|
|
NOOP for fresh bootstrap (will skip store creation) - provides ordering when performing a repo restore (bootstrap import)
|
|
-->
|
|
<bean id="spacesModelsBootstrap" parent="storeImporter" singleton="true" />
|
|
<bean id="spacesBootstrap" parent="spacesBootstrap-base" singleton="true" />
|
|
|
|
<!--
|
|
NOOP for fresh bootstrap - provides ordering for site imports which occur via bootstrap context extensions
|
|
-->
|
|
<bean id="siteLoadBootstrap-Spaces" parent="spacesStoreImporter" singleton="true" />
|
|
<bean id="siteLoadBootstrap-Users" parent="userStoreImporter" singleton="true" />
|
|
<bean id="siteLoadBootstrap-AVM" parent="sitesAVMZipBootstrap-base" singleton="true" />
|
|
|
|
<bean id="workflowBootstrap" parent="workflowDeployer">
|
|
<property name="workflowDefinitions">
|
|
<list>
|
|
<!-- Adhoc workflow definition -->
|
|
<props>
|
|
<prop key="engineId">jbpm</prop>
|
|
<prop key="location">alfresco/workflow/adhoc_processdefinition.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
|
|
<!-- Review and Approve workflow definitions -->
|
|
<props>
|
|
<prop key="engineId">jbpm</prop>
|
|
<prop key="location">alfresco/workflow/review_processdefinition.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
<props>
|
|
<prop key="engineId">jbpm</prop>
|
|
<prop key="location">alfresco/workflow/review_pooled_processdefinition.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
<props>
|
|
<prop key="engineId">jbpm</prop>
|
|
<prop key="location">alfresco/workflow/parallelreview_processdefinition.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
<props>
|
|
<prop key="engineId">jbpm</prop>
|
|
<prop key="location">alfresco/workflow/parallelreview_group_processdefinition.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
|
|
<!-- WCM workflow definitions -->
|
|
<props>
|
|
<prop key="engineId">jbpm</prop>
|
|
<prop key="location">alfresco/workflow/submit_processdefinition.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
<props>
|
|
<prop key="engineId">jbpm</prop>
|
|
<prop key="location">alfresco/workflow/changerequest_processdefinition.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
<props>
|
|
<prop key="engineId">jbpm</prop>
|
|
<prop key="location">alfresco/workflow/submitdirect_processdefinition.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
|
|
<!-- Invitation service workflow definition -->
|
|
<props>
|
|
<prop key="engineId">jbpm</prop>
|
|
<prop key="location">alfresco/workflow/invitation-nominated_processdefinition.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
|
|
<!-- Invitation service workflow definition -->
|
|
<props>
|
|
<prop key="engineId">jbpm</prop>
|
|
<prop key="location">alfresco/workflow/invitation-moderated_processdefinition.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
|
|
<!-- Activiti Adhoc workflow definition -->
|
|
<props>
|
|
<prop key="engineId">activiti</prop>
|
|
<prop key="location">alfresco/workflow/adhoc.bpmn20.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
|
|
<!-- Activiti Review workflow definition -->
|
|
<props>
|
|
<prop key="engineId">activiti</prop>
|
|
<prop key="location">alfresco/workflow/review.bpmn20.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
|
|
<!-- Activiti Pooled Review workflow definition -->
|
|
<props>
|
|
<prop key="engineId">activiti</prop>
|
|
<prop key="location">alfresco/workflow/review-pooled.bpmn20.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
|
|
<!-- Activiti Parallel Review workflow definition -->
|
|
<props>
|
|
<prop key="engineId">activiti</prop>
|
|
<prop key="location">alfresco/workflow/parallel-review.bpmn20.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
|
|
<!-- Activiti Parallel Group Review workflow definition -->
|
|
<props>
|
|
<prop key="engineId">activiti</prop>
|
|
<prop key="location">alfresco/workflow/parallel-review-group.bpmn20.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
|
|
<!-- Activiti invitation service workflow definition -->
|
|
<props>
|
|
<prop key="engineId">activiti</prop>
|
|
<prop key="location">alfresco/workflow/invitation-moderated.bpmn20.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
|
|
<!-- Activiti invitation service workflow definition -->
|
|
<props>
|
|
<prop key="engineId">activiti</prop>
|
|
<prop key="location">alfresco/workflow/invitation-nominated.bpmn20.xml</prop>
|
|
<prop key="mimetype">text/xml</prop>
|
|
<prop key="redeploy">false</prop>
|
|
</props>
|
|
</list>
|
|
</property>
|
|
<property name="models">
|
|
<list>
|
|
<value>alfresco/workflow/workflowModel.xml</value>
|
|
<value>alfresco/workflow/wcmWorkflowModel.xml</value>
|
|
<value>alfresco/workflow/invitation-nominated-workflow-model.xml</value>
|
|
<value>alfresco/workflow/invitation-moderated-workflow-model.xml</value>
|
|
</list>
|
|
</property>
|
|
<property name="labels">
|
|
<list>
|
|
<value>alfresco/workflow/workflow-messages</value>
|
|
<value>alfresco/workflow/wcm-workflow-messages</value>
|
|
<value>alfresco/workflow/invitation-nominated-workflow-messages</value>
|
|
<value>alfresco/workflow/invitation-moderated-workflow-messages</value>
|
|
</list>
|
|
</property>
|
|
<property name="repositoryWorkflowDefsLocations" ref="customWorkflowDefsRepositoryLocation"/>
|
|
</bean>
|
|
|
|
<!-- Descriptor Service -->
|
|
<bean id="descriptorComponent" class="org.alfresco.repo.descriptor.DescriptorServiceImpl">
|
|
<property name="serverDescriptorDAO">
|
|
<ref bean="serverDescriptorDAO"/>
|
|
</property>
|
|
<property name="currentRepoDescriptorDAO">
|
|
<ref bean="currentRepoDescriptorDAO"/>
|
|
</property>
|
|
<property name="installedRepoDescriptorDAO">
|
|
<ref bean="installedRepoDescriptorDAO"/>
|
|
</property>
|
|
<property name="transactionService">
|
|
<ref bean="transactionService"/>
|
|
</property>
|
|
<property name="repoUsageComponent" ref="repoUsageComponent"/>
|
|
</bean>
|
|
|
|
<!-- Bootstrap MT (multi-tenancy) if applicable -->
|
|
<bean id="multiTenantBootstrap" class="org.alfresco.repo.tenant.MultiTenantBootstrap" >
|
|
<property name="tenantAdminService" ref="tenantAdminService"/>
|
|
<property name="patchService" ref="PatchService"/>
|
|
<property name="descriptorService" ref="descriptorComponent"/>
|
|
<property name="migrateAttrTenantsPatch" ref="patch.migrateAttrTenants"/>
|
|
</bean>
|
|
|
|
<!-- Bootstrap any extensions -->
|
|
|
|
<import resource="classpath*:alfresco/extension/bootstrap/*-context.xml" />
|
|
|
|
<!-- Start third party transformer Subsystem. -->
|
|
<bean id="thirdparty" class="org.alfresco.repo.management.subsystems.ChildApplicationContextFactory" parent="abstractPropertyBackedBean">
|
|
<property name="autoStart">
|
|
<value>true</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="OOoDirect" class="org.alfresco.repo.management.subsystems.ChildApplicationContextFactory" parent="abstractPropertyBackedBean">
|
|
<property name="autoStart">
|
|
<value>true</value>
|
|
</property>
|
|
</bean>
|
|
|
|
|
|
<!-- Bootstrap any enterprise contexts -->
|
|
<!-- This is placed at this point because we need the enterprise OOoJodConverter subsystem started
|
|
before reindexing begins. -->
|
|
<import resource="classpath*:alfresco/enterprise/bootstrap/*-context.xml" />
|
|
|
|
|
|
<!-- Perform index recovery before applying any patches -->
|
|
<!-- rebuild the index if required - before we check that it is there -->
|
|
|
|
<bean id="indexRecoveryBootstrap" class="org.alfresco.repo.node.index.IndexRecoveryBootstrapBean" >
|
|
<property name="indexRecoveryComponent">
|
|
<ref bean="indexRecoveryComponent"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="avmIndexRecoveryBootstrap" class="org.alfresco.repo.node.index.IndexRecoveryBootstrapBean" >
|
|
<property name="indexRecoveryComponent">
|
|
<ref bean="avmIndexRecoveryComponent"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- This component checks the interconnection between the metadata, indexes and content -->
|
|
<bean id="configurationChecker" class="org.alfresco.repo.admin.ConfigurationChecker">
|
|
<property name="strict">
|
|
<value>${system.bootstrap.config_check.strict}</value>
|
|
</property>
|
|
<property name="dirRoot">
|
|
<value>${dir.root}</value>
|
|
</property>
|
|
<property name="indexRecoveryMode">
|
|
<value>${index.recovery.mode}</value>
|
|
</property>
|
|
<!-- helper beans -->
|
|
<property name="transactionService">
|
|
<ref bean="transactionService"/>
|
|
</property>
|
|
<property name="systemBootstrap">
|
|
<ref bean="systemBootstrap"/>
|
|
</property>
|
|
<property name="namespaceService">
|
|
<ref bean="namespaceService"/>
|
|
</property>
|
|
<property name="nodeService">
|
|
<ref bean="nodeService"/>
|
|
</property>
|
|
<property name="searchService">
|
|
<ref bean="searchService"/>
|
|
</property>
|
|
<property name="contentService">
|
|
<ref bean="contentService"/>
|
|
</property>
|
|
<property name="indexConfigurationChecker">
|
|
<ref bean="indexConfigurationChecker"/>
|
|
</property>
|
|
</bean>
|
|
|
|
|
|
<!-- This component ensures that patches get applied on startup -->
|
|
|
|
<bean id="patchExecuter" class="org.alfresco.repo.admin.patch.PatchExecuter">
|
|
<property name="patchService">
|
|
<ref bean="PatchService" />
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Import other Alfresco bootstrap components -->
|
|
<import resource="classpath*:alfresco/alfresco-*-bootstrap-context.xml" />
|
|
|
|
<!-- Start module components -->
|
|
|
|
<bean id="moduleStarter" class="org.alfresco.repo.module.ModuleStarter">
|
|
<property name="transactionService">
|
|
<ref bean="transactionService" />
|
|
</property>
|
|
<property name="moduleService">
|
|
<ref bean="ModuleService" />
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- System Administration Parameters -->
|
|
<bean id="sysAdmin" class="org.alfresco.repo.management.subsystems.ChildApplicationContextFactory" parent="abstractPropertyBackedBean"/>
|
|
|
|
<!-- File Servers Subsystem -->
|
|
<bean id="fileServers" class="org.alfresco.repo.management.subsystems.ChildApplicationContextFactory" parent="abstractPropertyBackedBean">
|
|
<property name="autoStart">
|
|
<value>true</value>
|
|
</property>
|
|
<property name="compositePropertyTypes">
|
|
<map>
|
|
<entry key="nfs.user.mappings">
|
|
<value>org.alfresco.filesys.auth.nfs.UserMapping</value>
|
|
</entry>
|
|
<entry key="filesystem.acl.global.domainAccessControls">
|
|
<value>org.alfresco.filesys.config.acl.DomainAccessControlBean</value>
|
|
</entry>
|
|
<entry key="filesystem.acl.global.protocolAccessControls">
|
|
<value>org.alfresco.filesys.config.acl.ProtocolAccessControlBean</value>
|
|
</entry>
|
|
<entry key="filesystem.acl.global.userAccessControls">
|
|
<value>org.alfresco.filesys.config.acl.UserAccessControlBean</value>
|
|
</entry>
|
|
<entry key="filesystem.domainMappings">
|
|
<value>org.alfresco.filesys.config.DomainMappingConfigBean</value>
|
|
</entry>
|
|
</map>
|
|
</property>
|
|
<property name="persister">
|
|
<bean class="org.alfresco.config.AlfrescoPropertiesPersister"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="fileServerConfiguration" class="org.alfresco.repo.management.subsystems.SubsystemProxyFactory">
|
|
<property name="sourceApplicationContextFactory">
|
|
<ref bean="fileServers" />
|
|
</property>
|
|
<property name="interfaces">
|
|
<list>
|
|
<!-- Allow authentication subsystem to see file server config at runtime -->
|
|
<value>org.alfresco.filesys.ExtendedServerConfigurationAccessor</value>
|
|
<!-- Allow export as MBean -->
|
|
<value>org.alfresco.filesys.FileServerConfigMBean</value>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="contentDiskDriver" class="org.alfresco.repo.management.subsystems.SubsystemProxyFactory">
|
|
<property name="sourceApplicationContextFactory">
|
|
<ref bean="fileServers" />
|
|
</property>
|
|
<property name="sourceBeanName">
|
|
<value>contentDiskDriver</value>
|
|
</property>
|
|
<property name="interfaces">
|
|
<list>
|
|
<!-- Allow authentication subsystem to see content disk driver at runtime -->
|
|
<value>org.alfresco.filesys.alfresco.ExtendedDiskInterface</value>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- IMAP Subsystem -->
|
|
<bean id="imap" class="org.alfresco.repo.management.subsystems.ChildApplicationContextFactory" parent="abstractPropertyBackedBean">
|
|
<property name="autoStart">
|
|
<value>true</value>
|
|
</property>
|
|
<property name="compositePropertyTypes">
|
|
<map>
|
|
<entry key="imap.config.server.mountPoints">
|
|
<value>org.alfresco.repo.imap.config.ImapConfigMountPointsBean</value>
|
|
</entry>
|
|
<entry key="imap.config.ignore.extraction">
|
|
<value>org.alfresco.util.config.RepositoryFolderConfigBean</value>
|
|
</entry>
|
|
</map>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Outbound Email subsystem -->
|
|
<bean id="OutboundSMTP" class="org.alfresco.repo.management.subsystems.ChildApplicationContextFactory" parent="abstractPropertyBackedBean">
|
|
<property name="category">
|
|
<value>email</value>
|
|
</property>
|
|
<property name="typeName">
|
|
<value>OutboundSMTP</value>
|
|
</property>
|
|
<property name="instancePath">
|
|
<list>
|
|
<value>outbound</value>
|
|
</list>
|
|
</property>
|
|
<property name="autoStart">
|
|
<value>true</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Inbound Email subsystem -->
|
|
<bean id="InboundSMTP" class="org.alfresco.repo.management.subsystems.ChildApplicationContextFactory" parent="abstractPropertyBackedBean">
|
|
<property name="category">
|
|
<value>email</value>
|
|
</property>
|
|
<property name="typeName">
|
|
<value>InboundSMTP</value>
|
|
</property>
|
|
<property name="instancePath">
|
|
<list>
|
|
<value>inbound</value>
|
|
</list>
|
|
</property>
|
|
<property name="autoStart">
|
|
<value>true</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- GoogleDocs subsystem -->
|
|
<bean id="googledocs" class="org.alfresco.repo.management.subsystems.ChildApplicationContextFactory" parent="abstractPropertyBackedBean">
|
|
<property name="autoStart">
|
|
<value>true</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Subscription Service subsystem -->
|
|
<bean id="subscriptions" class="org.alfresco.repo.management.subsystems.ChildApplicationContextFactory" parent="abstractPropertyBackedBean">
|
|
<property name="category">
|
|
<value>Subscriptions</value>
|
|
</property>
|
|
<property name="autoStart">
|
|
<value>true</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="SubscriptionService" class="org.alfresco.repo.management.subsystems.SubsystemProxyFactory">
|
|
<property name="sourceApplicationContextFactory">
|
|
<ref bean="subscriptions" />
|
|
</property>
|
|
<property name="sourceBeanName">
|
|
<value>SubscriptionServiceImpl</value>
|
|
</property>
|
|
<property name="interfaces">
|
|
<list>
|
|
<value>org.alfresco.service.cmr.subscriptions.SubscriptionService</value>
|
|
</list>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Start the quartz scheduler -->
|
|
|
|
<bean id="schedulerStarter" class="org.alfresco.util.SchedulerStarterBean" >
|
|
<property name="scheduler">
|
|
<ref bean="schedulerFactory"/>
|
|
</property>
|
|
</bean>
|
|
|
|
|
|
|
|
<!-- User usage tracking (requires a query across all users on startup) -->
|
|
<bean id="userUsageTrackingComponent" class="org.alfresco.repo.usage.UserUsageTrackingComponent" init-method="init">
|
|
<property name="policyComponent">
|
|
<ref bean="policyComponent"/>
|
|
</property>
|
|
<property name="transactionService">
|
|
<ref bean="transactionService"/>
|
|
</property>
|
|
<property name="contentUsageImpl">
|
|
<ref bean="contentUsageImpl"/>
|
|
</property>
|
|
<!-- The store in which people are persisted-->
|
|
<property name="personStoreUrl">
|
|
<value>${spaces.store}</value>
|
|
</property>
|
|
<property name="nodeService">
|
|
<ref bean="nodeService"/>
|
|
</property>
|
|
<property name="usageDAO">
|
|
<ref bean="usageDAO"/>
|
|
</property>
|
|
<property name="usageService">
|
|
<ref bean="usageService"/>
|
|
</property>
|
|
<property name="tenantAdminService">
|
|
<ref bean="tenantAdminService" />
|
|
</property>
|
|
<property name="tenantService">
|
|
<ref bean="tenantService" />
|
|
</property>
|
|
<property name="clearBatchSize">
|
|
<value>${system.usages.clearBatchSize}</value>
|
|
</property>
|
|
<property name="updateBatchSize">
|
|
<value>${system.usages.updateBatchSize}</value>
|
|
</property>
|
|
<property name="enabled">
|
|
<value>${system.usages.enabled}</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Synchronization of home folders locations to their HomeFolderProvider -->
|
|
<bean id="homeFolderProviderSynchronizer" class="org.alfresco.repo.security.person.HomeFolderProviderSynchronizer">
|
|
<constructor-arg ref="transactionService" />
|
|
<constructor-arg ref="authorityService" />
|
|
<constructor-arg ref="personService" />
|
|
<constructor-arg ref="nodeService" />
|
|
<constructor-arg ref="fileFolderService" />
|
|
<constructor-arg ref="homeFolderManager" />
|
|
<constructor-arg ref="tenantAdminService" />
|
|
<property name="enabled">
|
|
<value>${home_folder_provider_synchronizer.enabled}</value>
|
|
</property>
|
|
<property name="overrideHomeFolderProviderName">
|
|
<value>${home_folder_provider_synchronizer.override_provider}</value>
|
|
</property>
|
|
<property name="keepEmptyParents">
|
|
<value>${home_folder_provider_synchronizer.keep_empty_parents}</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- User registry synchronization jobs (e.g. LDAP) -->
|
|
<bean id="Synchronization" class="org.alfresco.repo.management.subsystems.ChildApplicationContextFactory" parent="abstractPropertyBackedBean">
|
|
<property name="autoStart">
|
|
<value>true</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Workflow Scheduler -->
|
|
<bean id="workflowScheduler" class="org.alfresco.repo.workflow.jbpm.JBPMScheduler">
|
|
<property name="JBPMTemplate" ref="jbpm_template" />
|
|
<property name="JBPMEngineEnabled">
|
|
<value>${system.workflow.engine.jbpm.enabled}</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Start Auditing -->
|
|
<bean id="Audit" class="org.alfresco.repo.audit.model.AuditModelRegistryImpl" parent="abstractPropertyBackedBean">
|
|
<property name="searchPath">
|
|
<list>
|
|
<value>classpath*:alfresco/audit/*.xml</value>
|
|
<value>classpath*:alfresco/enterprise/audit/*.xml</value>
|
|
<value>classpath*:alfresco/module/*/audit/*.xml</value>
|
|
<value>classpath*:alfresco/extension/audit/*.xml</value>
|
|
</list>
|
|
</property>
|
|
<property name="transactionService" ref="transactionService" />
|
|
<property name="auditDAO" ref="auditDAO" />
|
|
<property name="dataExtractors" ref="auditModel.extractorRegistry" />
|
|
<property name="dataGenerators" ref="auditModel.generatorRegistry" />
|
|
<property name="autoStart">
|
|
<value>true</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<!-- Repository helper class -->
|
|
<bean id="repositoryHelper" class="org.alfresco.repo.model.Repository">
|
|
<property name="transactionHelper" ref="retryingTransactionHelper" />
|
|
<property name="namespaceService" ref="namespaceService" />
|
|
<property name="nodeService" ref="nodeService" />
|
|
<property name="personService" ref="personService" />
|
|
<property name="fileFolderService" ref="fileFolderService" />
|
|
<property name="searchService" ref="searchService" />
|
|
<property name="tenantAdminService" ref="tenantAdminService" />
|
|
<property name="avmService" ref="AVMService" />
|
|
<property name="companyHomeStore"><value>${spaces.store}</value></property>
|
|
<property name="companyHomePath"><value>/${spaces.company_home.childname}</value></property>
|
|
</bean>
|
|
|
|
<!-- Site service cache warmer -->
|
|
<bean id="siteServiceBootstrap" class="org.alfresco.repo.site.SiteServiceBootstrap">
|
|
<property name="siteService" ref="SiteService" />
|
|
<property name="tenantAdminService" ref="tenantAdminService" />
|
|
</bean>
|
|
|
|
<!-- Scheduled persisted actions - load into quartz -->
|
|
<bean id="scheduledPersistedActionServiceBootstrap" class="org.alfresco.repo.action.scheduled.ScheduledPersistedActionServiceImpl$ScheduledPersistedActionServiceBootstrap">
|
|
<property name="scheduledPersistedActionService" ref="scheduledPersistedActionService" />
|
|
<property name="transactionHelper" ref="retryingTransactionHelper" />
|
|
</bean>
|
|
|
|
<bean id="repositoryEndBootstrapBean" class="org.alfresco.repo.admin.RepositoryEndBootstrapBean" >
|
|
<property name="repositoryState">
|
|
<ref bean="repositoryState"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="webDavBootstrapBean" class="org.alfresco.repo.webdav.WebDavBootstrap" >
|
|
<property name="rootNode">
|
|
<ref bean="webdavRootNode"/>
|
|
</property>
|
|
</bean>
|
|
|
|
<bean id="fileServerConfigurationFactory" class="org.alfresco.filesys.config.FileServerConfigurationFactory"/>
|
|
|
|
<!-- Startup Message -->
|
|
|
|
<bean id="startupLog" class="org.alfresco.repo.descriptor.DescriptorStartupLog">
|
|
<property name="descriptorService">
|
|
<ref local="descriptorComponent"/>
|
|
</property>
|
|
<property name="transactionService">
|
|
<ref bean="transactionService"/>
|
|
</property>
|
|
</bean>
|
|
</beans>
|