Schema changes and ID-based node storage

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2727 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2006-04-28 12:54:29 +00:00
parent 2b251c922b
commit 7edcb18bc0
64 changed files with 2798 additions and 2820 deletions

View File

@@ -24,6 +24,7 @@
<import resource="classpath:alfresco/import-export-context.xml" />
<import resource="classpath:alfresco/bootstrap-context.xml" />
<import resource="classpath*:alfresco/patch/*-context.xml" />
<import resource="classpath*:alfresco/domain/*-context.xml" />
<!-- import of general extensions and bean overrides -->
<import resource="classpath*:alfresco/extension/*-context.xml" />

View File

@@ -292,8 +292,8 @@
<property name="dbNodeService">
<ref bean="dbNodeService" />
</property>
<property name="versionCounterDaoService">
<ref bean="versionCounterDaoService" />
<property name="versionCounterService">
<ref bean="versionCounterService" />
</property>
<property name="searcher">
<ref bean="searchService" />
@@ -318,22 +318,15 @@
</property>
</bean>
<bean id="versionCounterDaoService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<bean id="versionCounterService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.repo.version.common.counter.VersionCounterDaoService</value>
<value>org.alfresco.repo.version.common.counter.VersionCounterService</value>
</property>
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<bean class="org.alfresco.repo.version.common.counter.hibernate.HibernateVersionCounterDaoServiceImpl" init-method="init">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
</bean>
<ref bean="versionCounterDaoComponent" />
</property>
<property name="transactionAttributes">
<props>

View File

@@ -12,3 +12,4 @@ hibernate.cache.use_second_level_cache=true
hibernate.default_batch_fetch_size=1
hibernate.jdbc.batch_size=32
hibernate.connection.release_mode=auto
hibernate.connection.isolation=4

View File

@@ -31,6 +31,15 @@
timeToLiveSeconds="0"
overflowToDisk="false"
/>
<!-- approx XXX MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.QNameEntityImpl"
maxElementsInMemory="100"
eternal="true"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
overflowToDisk="false"
/>
<!-- approx 20MB memory required -->
<cache
name="org.alfresco.repo.domain.hibernate.NodeStatusImpl"
@@ -142,36 +151,30 @@
<!-- Permission related caches -->
<!-- approx 40MB memory required -->
<cache
name="org.alfresco.repo.security.permissions.impl.hibernate.RecipientImpl"
name="org.alfresco.repo.domain.hibernate.DbAuthorityImpl"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="false"/>
<!-- approx 2MB memory required -->
<cache
name="org.alfresco.repo.security.permissions.impl.hibernate.PermissionReferenceImpl"
name="org.alfresco.repo.domain.hibernate.DbPermissionImpl"
maxElementsInMemory="500"
eternal="true"
overflowToDisk="false"/>
<!-- approx 35MB memory required -->
<cache
name="org.alfresco.repo.security.permissions.impl.hibernate.PermissionEntryImpl"
name="org.alfresco.repo.domain.hibernate.DbAccessControlEntryImpl"
maxElementsInMemory="25000"
eternal="true"
overflowToDisk="false"/>
<!-- approx 40MB memory required -->
<cache
name="org.alfresco.repo.security.permissions.impl.hibernate.NodePermissionEntryImpl"
name="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="false"/>
<!-- approx 40MB memory required -->
<cache
name="org.alfresco.repo.security.permissions.impl.hibernate.NodePermissionEntryImpl.permissionEntries"
maxElementsInMemory="10000"
eternal="true"
overflowToDisk="false"/>
<cache
name="org.alfresco.repo.security.permissions.impl.hibernate.RecipientImpl.externalKeys"
name="org.alfresco.repo.domain.hibernate.DbAuthorityImpl.externalKeys"
maxElementsInMemory="5000"
eternal="true"
overflowToDisk="false"/>

View File

@@ -36,7 +36,7 @@
<value>org/alfresco/repo/domain/hibernate/Store.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/VersionCount.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/AppliedPatch.hbm.xml</value>
<value>org/alfresco/repo/security/permissions/impl/hibernate/Permission.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/Permission.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties" ref="hibernateConfigProperties" />
@@ -50,10 +50,10 @@
<prop key="org.alfresco.repo.domain.hibernate.VersionCountImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.AppliedPatchImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.security.permissions.impl.hibernate.NodePermissionEntryImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.security.permissions.impl.hibernate.PermissionEntryImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.security.permissions.impl.hibernate.PermissionReferenceImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.security.permissions.impl.hibernate.RecipientImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAccessControlEntryImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbPermissionImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAuthorityImpl">${cache.strategy}</prop>
</props>
</property>
<property name="collectionCacheStrategies" >
@@ -65,8 +65,7 @@
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl.sourceNodeAssocs">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl.targetNodeAssocs">${cache.strategy}</prop>
<prop key="org.alfresco.repo.security.permissions.impl.hibernate.NodePermissionEntryImpl.permissionEntries">${cache.strategy}</prop>
<prop key="org.alfresco.repo.security.permissions.impl.hibernate.RecipientImpl.externalKeys">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAuthorityImpl.externalKeys">${cache.strategy}</prop>
</props>
</property>
</bean>
@@ -80,5 +79,51 @@
<ref bean="sessionFactory" />
</property>
</bean>
<!-- Hibernate-specific implementations of persistence components -->
<bean id="versionCounterDaoComponent" class="org.alfresco.repo.domain.hibernate.VersionCounterDaoComponentImpl" init-method="init">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
</bean>
<bean id="permissionsDaoComponent" class="org.alfresco.repo.domain.hibernate.PermissionsDaoComponentImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="nullPermissionCache">
<ref bean="nullPermissionCache" />
</property>
<property name="nodeDaoService">
<ref bean="nodeDaoService" />
</property>
</bean>
<bean id="nodeDaoServiceImpl" class="org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl" >
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="dbNodeDaoServiceTxnRegistration" class="org.alfresco.repo.transaction.NodeDaoServiceTransactionInterceptor" >
<property name="nodeDaoService">
<ref bean="nodeDaoServiceImpl" />
</property>
</bean>
<bean id="nodeDaoService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.repo.node.db.NodeDaoService</value>
</property>
<property name="target">
<ref bean="nodeDaoServiceImpl" />
</property>
<property name="interceptorNames">
<list>
<value>dbNodeDaoServiceTxnRegistration</value>
</list>
</property>
</bean>
</beans>

View File

@@ -25,7 +25,7 @@ patch.savedSearchesPermission.result.applied=Granted CONTRIBUTOR role to EVERYON
patch.savedSearchesPermission.err.not_found='Saved Searches' folder could not be found.
patch.updatePermissionData.description=Update permission entries from 'folder' to 'cmobject'.
patch.updatePermissionData.result=Created the following permission reference names: {0}. \nUpdated {1} permission entries.
patch.updatePermissionData.upgrade=Please follow an upgrade path via server version 1.2.1
patch.authoritiesFolder.description=Ensures the existence of the user authorities folder [JIRA: AR-497].
@@ -36,7 +36,7 @@ patch.fixNodeSerializableValues.description=Ensure that property values are not
patch.fixNodeSerializableValues.result=Fixed {0} node property serialized values
patch.updateGuestPermission.description=Rename guest permission from 'Guest' to 'Consumer'
patch.updateGuestPermission.result=Created the following permission reference names: {0}. \nUpdated {1} permission entries.
patch.updateGuestPermission.upgrade=Please follow an upgrade path via server version 1.2.1
patch.categoryRootPermission.description=Sets required permissions on 'Category Root' folder.
patch.categoryRootPermission.result=Granted CONSUMER role to GUEST on ''Category Root'' folder: {0}.
@@ -49,7 +49,7 @@ patch.spacesRootPermission.description=Change Spaces store root permission from
patch.spacesRootPermission.result=Updated Spaces store root permission from 'Consumer' to 'Read'
patch.contentPermission.description=Update permission entries from 'cm:content' to 'sys:base'.
patch.contentPermission.result=Created the following permission reference names: {0}. \nUpdated {1} permission entries.
patch.contentPermission.upgrade=Please follow an upgrade path via server version 1.2.1
patch.forumsIcons.description=Updates forums icon references
patch.forumsIcons.result=Updated {0} icon references

View File

@@ -3,32 +3,6 @@
<!-- Beans pertinent to node persistence and services -->
<beans>
<bean id="nodeDaoServiceImpl" class="org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl" >
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="dbNodeDaoServiceTxnRegistration" class="org.alfresco.repo.transaction.NodeDaoServiceTransactionInterceptor" >
<property name="nodeDaoService">
<ref bean="nodeDaoServiceImpl" />
</property>
</bean>
<bean id="nodeDaoService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.repo.node.db.NodeDaoService</value>
</property>
<property name="target">
<ref bean="nodeDaoServiceImpl" />
</property>
<property name="interceptorNames">
<list>
<value>dbNodeDaoServiceTxnRegistration</value>
</list>
</property>
</bean>
<bean id="nodeService" class="org.alfresco.repo.service.StoreRedirectorProxyFactory">
<property name="proxyInterface">
@@ -46,35 +20,16 @@
</bean>
<!-- NodeService implemented to persist to Database -->
<bean id="dbNodeService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.service.cmr.repository.NodeService</value>
</property>
<property name="target">
<bean class="org.alfresco.repo.node.db.DbNodeServiceImpl" init-method="init" >
<constructor-arg>
<ref bean="policyComponent"/>
</constructor-arg>
<constructor-arg>
<ref bean="dictionaryService" />
</constructor-arg>
<constructor-arg>
<ref bean="nodeDaoService" />
</constructor-arg>
</bean>
</property>
<property name="interceptorNames">
<list>
<!-- <idref bean="methodCallLogAdvice" />-->
<!-- <idref bean="dbNodeService_PerformanceMonitorAdvice" />-->
</list>
</property>
</bean>
<bean id="dbNodeService_PerformanceMonitorAdvice" class="org.alfresco.util.perf.PerformanceMonitorAdvice" >
<constructor-arg>
<value>dbNodeService</value>
</constructor-arg>
<bean id="dbNodeService" class="org.alfresco.repo.node.db.DbNodeServiceImpl" init-method="init" >
<constructor-arg>
<ref bean="policyComponent"/>
</constructor-arg>
<constructor-arg>
<ref bean="dictionaryService" />
</constructor-arg>
<constructor-arg>
<ref bean="nodeDaoService" />
</constructor-arg>
</bean>
<!-- Handles policy callbacks to ensure that node hierarchy gets indexed -->

View File

@@ -51,8 +51,8 @@
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="permissionsDAO">
<ref bean="permissionsDAO" />
<property name="permissionsDaoComponent">
<ref bean="permissionsDaoComponent" />
</property>
<property name="modelDAO">
<ref bean="permissionsModelDAO" />
@@ -98,19 +98,6 @@
</property>
</bean>
<!-- =============== -->
<!-- Permissions DAO -->
<!-- =============== -->
<bean id="permissionsDAO" class="org.alfresco.repo.security.permissions.impl.hibernate.HibernatePermissionsDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="nullPermissionCache">
<ref bean="nullPermissionCache" />
</property>
</bean>
<!-- ===================== -->
<!-- Permissions Model DAO -->
<!-- ===================== -->