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:
Jan Vonka
2007-09-14 11:20:02 +00:00
parent 6a83f91a6b
commit d9590d3677
25 changed files with 2414 additions and 67 deletions

View File

@@ -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>

View 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>

View File

@@ -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>

View 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>