mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
MT extension
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6785 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -708,5 +708,42 @@
|
||||
replicateAsynchronously = false"/>
|
||||
|
||||
</cache>
|
||||
|
||||
|
||||
|
||||
<!-- Tenants Cache -->
|
||||
|
||||
<cache
|
||||
name="org.alfresco.cache.tenantsCache"
|
||||
maxElementsInMemory="100"
|
||||
eternal="true"
|
||||
overflowToDisk="false">
|
||||
|
||||
<cacheEventListenerFactory
|
||||
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
|
||||
properties="replicatePuts = false,
|
||||
replicateUpdates = true,
|
||||
replicateRemovals = true,
|
||||
replicateUpdatesViaCopy = false,
|
||||
replicateAsynchronously = false"/>
|
||||
|
||||
</cache>
|
||||
|
||||
<!-- Tenant-based Routing File Content Store -->
|
||||
|
||||
<cache
|
||||
name="org.alfresco.cache.tenantFileStoresCache"
|
||||
maxElementsInMemory="10000"
|
||||
eternal="true"
|
||||
overflowToDisk="false">
|
||||
|
||||
<cacheEventListenerFactory
|
||||
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
|
||||
properties="replicatePuts = false,
|
||||
replicateUpdates = true,
|
||||
replicateRemovals = true,
|
||||
replicateUpdatesViaCopy = false,
|
||||
replicateAsynchronously = false"/>
|
||||
|
||||
</cache>
|
||||
|
||||
</ehcache>
|
||||
|
43
config/alfresco/extension/mt/mt-admin-context.xml.sample
Normal file
43
config/alfresco/extension/mt/mt-admin-context.xml.sample
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
||||
|
||||
<beans>
|
||||
|
||||
<!-- -->
|
||||
<!-- MT Admin Service Implementation -->
|
||||
<!-- -->
|
||||
|
||||
<bean id="tenantAdminService" class="org.alfresco.repo.tenant.MultiTAdminServiceImpl">
|
||||
|
||||
<!--
|
||||
<property name="nodeService" ref="NodeService"/>
|
||||
-->
|
||||
<property name="nodeService" ref="dbNodeServiceImpl"/> <!-- TODO - go direct, until we expose deleteStore via public NodeService API -->
|
||||
<property name="dictionaryComponent" ref="dictionaryService"/>
|
||||
<property name="authenticationComponent" ref="authenticationComponent"/>
|
||||
<property name="repoAdminService" ref="RepoAdminService"/>
|
||||
<property name="tenantService" ref="tenantService"/>
|
||||
<property name="transactionService" ref="transactionComponent"/>
|
||||
<property name="attributeService" ref="AttributeService"/>
|
||||
<property name="passwordEncoder" ref="passwordEncoder"/>
|
||||
<property name="tenantFileContentStore" ref="tenantFileContentStore"/>
|
||||
<property name="workflowService" ref="WorkflowService"/>
|
||||
|
||||
</bean>
|
||||
|
||||
<bean id="tenantInterpreter" class="org.alfresco.repo.tenant.TenantInterpreter">
|
||||
<property name="transactionService" ref="transactionComponent"/>
|
||||
<property name="tenantAdminService" ref="tenantAdminService"/>
|
||||
<property name="tenantService" ref="tenantService"/>
|
||||
<property name="authenticationService" ref="AuthenticationService"/>
|
||||
</bean>
|
||||
|
||||
<bean id="tenantInterpreterHelp" class="org.alfresco.i18n.ResourceBundleBootstrapComponent">
|
||||
<property name="resourceBundles">
|
||||
<list>
|
||||
<value>alfresco.messages.tenant-interpreter-help</value>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
</beans>
|
@@ -0,0 +1,76 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
||||
|
||||
<beans>
|
||||
|
||||
<!-- ======================================= -->
|
||||
<!-- Tenant Routing File Content Store Cache -->
|
||||
<!-- ======================================= -->
|
||||
|
||||
<bean name="tenantFileStoresCache" class="org.alfresco.repo.cache.EhCacheAdapter">
|
||||
<property name="cache">
|
||||
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
|
||||
<property name="cacheManager">
|
||||
<ref bean="internalEHCacheManager" />
|
||||
</property>
|
||||
<property name="cacheName">
|
||||
<value>org.alfresco.cache.tenantFileStoresCache</value>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- -->
|
||||
<!-- Tenant Routing File Content Store -->
|
||||
<!-- -->
|
||||
|
||||
<bean id="tenantFileContentStore" class="org.alfresco.repo.content.TenantRoutingFileContentStore" init-method="init">
|
||||
<property name="defaultRootDir">
|
||||
<value>${dir.contentstore}</value>
|
||||
</property>
|
||||
<property name="tenantService">
|
||||
<ref bean="tenantService" />
|
||||
</property>
|
||||
<property name="storesCache">
|
||||
<ref bean="tenantFileStoresCache" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- override content store cleaner to use tenant routing file content store -->
|
||||
<!-- Performs the content cleanup -->
|
||||
<bean id="contentStoreCleaner" class="org.alfresco.repo.content.cleanup.ContentStoreCleaner" >
|
||||
<property name="dictionaryService">
|
||||
<ref bean="dictionaryService" />
|
||||
</property>
|
||||
<property name="nodeDaoService" >
|
||||
<ref bean="nodeDaoService" />
|
||||
</property>
|
||||
<property name="avmNodeDAO">
|
||||
<ref bean="avmNodeDAO"/>
|
||||
</property>
|
||||
<property name="transactionService" >
|
||||
<ref bean="transactionService" />
|
||||
</property>
|
||||
<property name="protectDays" >
|
||||
<value>14</value>
|
||||
</property>
|
||||
<property name="stores" >
|
||||
<list>
|
||||
<ref bean="tenantFileContentStore" />
|
||||
</list>
|
||||
</property>
|
||||
<property name="listeners" >
|
||||
<list>
|
||||
<ref bean="deletedContentBackupListener" />
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- override content service to use tenant routing file content store -->
|
||||
<bean id="contentService" parent="baseContentService">
|
||||
<property name="store">
|
||||
<ref bean="tenantFileContentStore" />
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
</beans>
|
55
config/alfresco/extension/mt/mt-context.xml.sample
Normal file
55
config/alfresco/extension/mt/mt-context.xml.sample
Normal file
@@ -0,0 +1,55 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
|
||||
|
||||
<beans>
|
||||
|
||||
<!-- ===================================== -->
|
||||
<!-- Tenants Cache -->
|
||||
<!-- ===================================== -->
|
||||
|
||||
<!-- The cross-transaction shared cache for in-memory Tenants -->
|
||||
|
||||
<bean name="tenantsSharedCache" class="org.alfresco.repo.cache.EhCacheAdapter">
|
||||
<property name="cache">
|
||||
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean" >
|
||||
<property name="cacheManager">
|
||||
<ref bean="internalEHCacheManager" />
|
||||
</property>
|
||||
<property name="cacheName">
|
||||
<value>org.alfresco.cache.tenantsCache</value>
|
||||
</property>
|
||||
</bean>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- The transactional cache for in-memory Tenants -->
|
||||
|
||||
<bean name="tenantsCache" class="org.alfresco.repo.cache.TransactionalCache">
|
||||
<property name="sharedCache">
|
||||
<ref bean="tenantsSharedCache" />
|
||||
</property>
|
||||
<property name="cacheManager" >
|
||||
<ref bean="transactionalEHCacheManager" />
|
||||
</property>
|
||||
<property name="name">
|
||||
<value>org.alfresco.tenantsTransactionalCache</value>
|
||||
</property>
|
||||
<property name="maxCacheSize">
|
||||
<value>10</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
|
||||
<!-- -->
|
||||
<!-- MT Service Implementation -->
|
||||
<!-- -->
|
||||
|
||||
<bean id="tenantService" class="org.alfresco.repo.tenant.MultiTServiceImpl">
|
||||
|
||||
<property name="tenantsCache">
|
||||
<ref bean="tenantsCache"/>
|
||||
</property>
|
||||
|
||||
</bean>
|
||||
|
||||
</beans>
|
Reference in New Issue
Block a user