Merged DEV/DEREK_2.1 to HEAD

- Removed Node.parentAssocs mapping
 - Added parentAssocs transactional cache to NodeDAO
 - Added concurrency detection to TransactionalCache
 - Fixed cluster sample config


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5948 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2007-06-13 23:50:14 +00:00
parent 36ea25f822
commit fb069d1680
19 changed files with 940 additions and 186 deletions

View File

@@ -24,6 +24,9 @@
</bean>
<bean id="asynchronousActionExecutionQueue" class="org.alfresco.repo.action.AsynchronousActionExecutionQueueImpl">
<property name="threadPoolExecutor">
<ref bean="threadPoolExecutor"/>
</property>
<property name="transactionService">
<ref bean="transactionService"/>
</property>

View File

@@ -27,6 +27,42 @@
<bean name="internalEHCacheManager" class="org.alfresco.repo.cache.InternalEhCacheManagerFactoryBean" />
<!-- ===================================== -->
<!-- Parent Associations lookup for nodes -->
<!-- ===================================== -->
<!-- The cross-transaction shared cache for Parent Associations -->
<bean name="parentAssocsSharedCache" 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.parentAssocsCache</value>
</property>
</bean>
</property>
</bean>
<!-- The transactional cache for Parent Associations -->
<bean name="parentAssocsCache" class="org.alfresco.repo.cache.TransactionalCache">
<property name="sharedCache">
<ref bean="parentAssocsSharedCache" />
</property>
<property name="cacheManager" >
<ref bean="transactionalEHCacheManager" />
</property>
<property name="name">
<value>org.alfresco.parentAssocsTransactionalCache</value>
</property>
<property name="maxCacheSize">
<value>1000</value>
</property>
</bean>
<!-- ===================================== -->
<!-- Authority container look up for users -->
<!-- ===================================== -->

View File

@@ -75,13 +75,6 @@
eternal="true"
overflowToDisk="false"
/>
<!-- approx 10MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.parentAssocs"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="false"
/>
<!-- approx 250MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.ChildAssocImpl"
@@ -92,7 +85,7 @@
<!-- general use node associations are not common -->
<cache
name="org.alfresco.repo.domain.hibernate.NodeAssocImpl"
maxElementsInMemory="1000"
maxElementsInMemory="5000"
eternal="true"
overflowToDisk="false"
/>
@@ -262,7 +255,13 @@
overflowToDisk="false"
/>
<!-- Internally used caches -->
<!-- Internally used caches -->
<cache
name="org.alfresco.cache.parentAssocsCache"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="false"
/>
<cache
name="org.alfresco.cache.userToAuthorityCache"
maxElementsInMemory="10000"

View File

@@ -176,25 +176,6 @@
replicateAsynchronously = false"/>
</cache>
<cache
name="org.alfresco.repo.domain.hibernate.NodeImpl.parentAssocs"
maxElementsInMemory="10000"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
overflowToDisk="false">
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicatePuts = false,
replicateUpdates = true,
replicateRemovals = true,
replicateUpdatesViaCopy = false,
replicateAsynchronously = false"/>
</cache>
<cache
@@ -434,6 +415,23 @@
<!-- Non-Hibernate -->
<cache
name="org.alfresco.cache.parentAssocsCache"
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>
<cache
name="org.alfresco.cache.userToAuthorityCache"
maxElementsInMemory="10000"

View File

@@ -172,7 +172,9 @@
<props>
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl.properties">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl.aspects">${cache.strategy}</prop>
<!--
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl.parentAssocs">${cache.strategy}</prop>
-->
<prop key="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl.entries">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAuthorityImpl.externalKeys">${cache.strategy}</prop>
@@ -231,6 +233,9 @@
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="parentAssocsCache">
<ref bean="parentAssocsCache"/>
</property>
</bean>
<bean id="dbNodeDaoServiceTxnRegistration" class="org.alfresco.repo.transaction.TransactionalDaoInterceptor" >