06-24-2010 01:03 AM
# Repository configuration
repository.name=Main Repository
# Directory configuration
dir.root=c:/alf_data
dir.contentstore=${dir.root}/contentstore
dir.contentstore.deleted=${dir.root}/contentstore.deleted
dir.auditcontentstore=${dir.root}/audit.contentstore
# The location for lucene index files
dir.indexes=${dir.root}/lucene-indexes
# The location for index backups
dir.indexes.backup=${dir.root}/backup-lucene-indexes
# The location for lucene index locks
dir.indexes.lock=${dir.indexes}/locks
# ######################################### #
# Index Recovery and Tracking Configuration #
# ######################################### #
#
# Recovery types are:
# NONE: Ignore
# VALIDATE: Checks that the first and last transaction for each store is represented in the indexes
# AUTO: Validates and auto-recovers if validation fails
# FULL: Full index rebuild, processing all transactions in order. The server is temporarily suspended.
index.recovery.mode=VALIDATE
# FULL recovery continues when encountering errors
index.recovery.stopOnError=false
index.recovery.maximumPoolSize=5
# Set the frequency with which the index tracking is triggered.
# For more information on index tracking in a cluster:
# http://wiki.alfresco.com/wiki/High_Availability_Configuration_V1.4_to_V2.1#Version_1.4.5.2C_2.1.1_an...
# By default, this is effectively never, but can be modified as required.
# Examples:
# Never: * * * * * ? 2099
# Once every five seconds: 0/5 * * * * ?
# Once every two seconds : 0/2 * * * * ?
# See http://quartz.sourceforge.net/javadoc/org/quartz/CronTrigger.html
index.tracking.cronExpression=0/5 * * * * ?
index.tracking.adm.cronExpression=${index.tracking.cronExpression}
index.tracking.avm.cronExpression=${index.tracking.cronExpression}
# Other properties.
index.tracking.maxTxnDurationMinutes=10
index.tracking.reindexLagMs=1000
index.tracking.maxRecordSetSize=1000
index.tracking.maxTransactionsPerLuceneCommit=100
index.tracking.disableInTransactionIndexing=false
# Index tracking information of a certain age is cleaned out by a scheduled job.
# Any clustered system that has been offline for longer than this period will need to be seeded
# with a more recent backup of the Lucene indexes or the indexes will have to be fully rebuilt.
# Use -1 to disable purging. This can be switched on at any stage.
index.tracking.minRecordPurgeAgeDays=30
# Change the failure behaviour of the configuration checker
system.bootstrap.config_check.strict=true
# The name of the cluster
# Leave this empty to disable cluster entry
alfresco.cluster.name=
# The protocol stack to use from the JGroups configuration file
# Use this property to select which communication method should be used.
# The JGroups configuration file is build up using the protocol string
alfresco.jgroups.defaultProtocol=UDP
# The bind address and interface for JGroups to use; equivalent to -Djgroups.bind_addr and -Djgroups.bind_interface
alfresco.jgroups.bind_address=
alfresco.jgroups.bind_interface=
# JGroups configuration (http://www.jgroups.org)
# The location of the JGroups configuration file
alfresco.jgroups.configLocation=classpath:alfresco/jgroups/alfresco-jgroups-${alfresco.jgroups.defaultProtocol}.xml
#
# How long should shutdown wait to complete normally before
# taking stronger action and calling System.exit()
# in ms, 10,000 is 10 seconds
#
shutdown.backstop.timeout=10000
shutdown.backstop.enabled=false
# Server Single User Mode
# note:
# only allow named user (note: if blank or not set then will allow all users)
# assuming maxusers is not set to 0
#server.singleuseronly.name=admin
# Server Max Users - limit number of users with non-expired tickets
# note:
# -1 allows any number of users, assuming not in single-user mode
# 0 prevents further logins, including the ability to enter single-user mode
server.maxusers=-1
# The Cron expression controlling the frequency with which the OpenOffice connection is tested
openOffice.test.cronExpression=0 * * * * ?
#
# Properties to limit resources spent on individual searches
#
# The maximum time spent pruning results
system.acl.maxPermissionCheckTimeMillis=10000
# The maximum number of results to perform permission checks against
system.acl.maxPermissionChecks=1000
#
# Manually control how the system handles maximum string lengths.
# Any zero or negative value is ignored.
# Only change this after consulting support or reading the appropriate Javadocs for
# org.alfresco.repo.domain.schema.SchemaBootstrap for V2.1.2
system.maximumStringLength=-1
#
# Limit hibernate session size by trying to amalgamate events for the L2 session invalidation
# - hibernate works as is up to this size
# - after the limit is hit events that can be grouped invalidate the L2 cache by type and not instance
# events may not group if there are post action listener registered (this is not the case with the default distribution)
system.hibernateMaxExecutions=20000
#
# Determine if document deletion and archival must cascade delete in the same
# transaction that triggers the operation.
system.cascadeDeleteInTransaction=true
#
# Determine if modification timestamp propagation from child to parent nodes is respected or not.
# Even if 'true', the functionality is only supported for child associations that declare the
# 'propagateTimestamps' element in the dictionary definition.
system.enableTimestampPropagation=false
#
# Decide if content should be removed from the system immediately after being orphaned.
# Do not change this unless you have examined the impact it has on your backup procedures.
system.content.eagerOrphanCleanup=false
# The number of days to keep orphaned content in the content stores.
# This has no effect on the 'deleted' content stores, which are not automatically emptied.
system.content.orphanProtectDays=14
# The CRON expression to trigger the deletion of resources associated with orphaned content.
system.content.orphanCleanup.cronExpression=0 0 4 * * ?
# The CRON expression to trigger content URL conversion. This process is not intesive and can
# be triggered on a live system. Similarly, it can be triggered using JMX on a dedicated machine.
system.content.contentUrlConverter.cronExpression=* * * * * ? 2099
system.content.contentUrlConverter.threadCount=2
system.content.contentUrlConverter.batchSize=500
system.content.contentUrlConverter.runAsScheduledJob=false
mail.host = smtp.gmail.com
mail.port = 465
mail.transport.protocol = smtp
mail.username = alfresco.lfn@gmail.com
mail.password= lfn.alfresco
mail.smtp.auth = true
mail.smtp.socketFactory.port = 465
mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory
mail.smtp.socketFactory.fallback = false
mail.smtp.timeout = 25000
mail.smtp.starttls.enable = true
# #################### #
# Lucene configuration #
# #################### #
#
# Millisecond threshold for text transformations
# Slower transformers will force the text extraction to be asynchronous
#
lucene.maxAtomicTransformationTime=20
#
# The maximum number of clauses that are allowed in a lucene query
#
lucene.query.maxClauses=10000
#
# The size of the queue of nodes waiting for index
# Events are generated as nodes are changed, this is the maximum size of the queue used to coalesce event
# When this size is reached the lists of nodes will be indexed
#
# http://issues.alfresco.com/browse/AR-1280: Setting this high is the workaround as of 1.4.3.
#
lucene.indexer.batchSize=1000000
#
# Index cache sizes
#
lucene.indexer.cacheEnabled=true
lucene.indexer.maxDocIdCacheSize=10000
lucene.indexer.maxDocumentCacheSize=100
lucene.indexer.maxIsCategoryCacheSize=-1
lucene.indexer.maxLinkAspectCacheSize=10000
lucene.indexer.maxParentCacheSize=10000
lucene.indexer.maxPathCacheSize=10000
lucene.indexer.maxTypeCacheSize=10000
#
# Properties for merge (not this does not affect the final index segment which will be optimised)
# Max merge docs only applies to the merge process not the resulting index which will be optimised.
#
lucene.indexer.mergerMaxMergeDocs=1000000
lucene.indexer.mergerMergeFactor=5
lucene.indexer.mergerMergeBlockingFactor=1
lucene.indexer.mergerMaxBufferedDocs=-1
lucene.indexer.mergerRamBufferSizeMb=16
#
# Properties for delta indexes (not this does not affect the final index segment which will be optimised)
# Max merge docs only applies to the index building process not the resulting index which will be optimised.
#
lucene.indexer.writerMaxMergeDocs=1000000
lucene.indexer.writerMergeFactor=5
lucene.indexer.writerMaxBufferedDocs=-1
lucene.indexer.writerRamBufferSizeMb=16
#
# Target number of indexes and deltas in the overall index and what index size to merge in memory
#
lucene.indexer.mergerTargetIndexCount=5
lucene.indexer.mergerTargetOverlayCount=5
lucene.indexer.mergerTargetOverlaysBlockingFactor=1
lucene.indexer.maxDocsForInMemoryMerge=10000
lucene.indexer.maxRamInMbForInMemoryMerge=16
lucene.indexer.maxDocsForInMemoryIndex=10000
lucene.indexer.maxRamInMbForInMemoryIndex=16
#
# Other lucene properties
#
lucene.indexer.termIndexInterval=128
lucene.indexer.useNioMemoryMapping=true
# over-ride to false for pre 3.0 behaviour
lucene.indexer.postSortDateTime=true
lucene.indexer.defaultMLIndexAnalysisMode=EXACT_LANGUAGE_AND_ALL
lucene.indexer.defaultMLSearchAnalysisMode=EXACT_LANGUAGE_AND_ALL
#
# The number of terms from a document that will be indexed
#
lucene.indexer.maxFieldLength=10000
#
# Index locks (mostly deprecated and will be tidied up with the next lucene upgrade)
#
lucene.write.lock.timeout=10000
lucene.commit.lock.timeout=100000
lucene.lock.poll.interval=100
# Database configuration
db.schema.stopAfterSchemaBootstrap=false
db.schema.update=true
db.schema.update.lockRetryCount=24
db.schema.update.lockRetryWaitSeconds=5
db.driver=org.gjt.mm.mysql.Driver
db.name=alfresco
db.url=jdbc:mysql:///${db.name}
db.username=alfresco
db.password=alfresco
db.pool.initial=10
db.pool.max=40
db.txn.isolation=-1
db.pool.statements.enable=true
db.pool.statements.max=40
db.pool.min=0
db.pool.idle=8
db.pool.wait.max=-1
db.pool.validate.query=
db.pool.evict.interval=-1
db.pool.evict.idle.min=1800000
db.pool.validate.borrow=true
db.pool.validate.return=false
db.pool.evict.validate=false
db.pool.abandoned.detect=false
db.pool.abandoned.time=300
# Audit configuration
audit.enabled=false
audit.repository.enabled=true
audit.cmischangelog.enabled=true
# Setting this flag to true will cause alfresco/auditConfig.xml to be ignored
# when audit is enabled. When false both alfresco/auditConfig.xml and
# alfresco/audit/*.xml will be used.
audit.useNewConfig=false
# System Configuration
system.store=system://system
system.descriptor.childname=sys:descriptor
system.descriptor.current.childname=sys:descriptor-current
# User config
alfresco_user_store.store=user://alfrescoUserStore
alfresco_user_store.system_container.childname=sys:system
alfresco_user_store.user_container.childname=sys:people
# note: default admin username - should not be changed after installation
alfresco_user_store.adminusername=admin
# Initial password - editing this will not have any effect once the repository is installed
alfresco_user_store.adminpassword=209c6174da490caeb422f3fa5a7ae634
# note: default guest username - should not be changed after installation
alfresco_user_store.guestusername=guest
# Spaces Archive Configuration
spaces.archive.store=archive://SpacesStore
# Spaces Configuration
spaces.store=workspace://SpacesStore
spaces.company_home.childname=app:company_home
spaces.guest_home.childname=app:guest_home
spaces.dictionary.childname=app:dictionary
spaces.templates.childname=app:space_templates
spaces.imapConfig.childname=app:imap_configs
spaces.imap_templates.childname=app:imap_templates
spaces.emailActions.childname=app:email_actions
spaces.searchAction.childname=cm:search
spaces.templates.content.childname=app:content_templates
spaces.templates.email.childname=app:email_templates
spaces.templates.email.invite1.childname=app:invite_email_templates
spaces.templates.email.notify.childname=app:notify_email_templates
spaces.templates.rss.childname=app:rss_templates
spaces.savedsearches.childname=app:saved_searches
spaces.scripts.childname=app:scripts
spaces.wcm.childname=app:wcm
spaces.wcm_content_forms.childname=app:wcm_forms
spaces.content_forms.childname=app:forms
spaces.user_homes.childname=app:user_homes
spaces.sites.childname=st:sites
spaces.templates.email.invite.childname=cm:invite
spaces.rendition.rendering_actions.childname=app:rendering_actions
spaces.wcm_deployed.childname=cm:wcm_deployed
spaces.transfers.childname=app:transfers
spaces.transfer_groups.childname=app:transfer_groups
spaces.transfer_temp.childname=app:temp
spaces.inbound_transfer_records.childname=app:inbound_transfer_records
spaces.outbound_transfer_records.childname=app:outbound_transfer_records
# ADM VersionStore Configuration
version.store.deprecated.lightWeightVersionStore=workspace://lightWeightVersionStore
version.store.version2Store=workspace://version2Store
# WARNING: For non-production testing only !!! Do not change (to avoid version store issues, including possible mismatch). Should be false since lightWeightVersionStore is deprecated.
version.store.onlyUseDeprecatedV1=false
# Folders for storing people
system.system_container.childname=sys:system
system.people_container.childname=sys:people
system.authorities_container.childname=sys:authorities
system.zones_container.childname=sys:zones
# Folders for storing workflow related info
system.workflow_container.childname=sys:workflow
# Are user names case sensitive?
user.name.caseSensitive=false
domain.name.caseSensitive=false
domain.separator=
# AVM Specific properties.
avm.remote.idlestream.timeout=30000
#Format caption extracted from the XML Schema.
xforms.formatCaption=true
# ################################## #
# WCM Link Validation Configuration #
# ################################## #
#
# Note: Link Validation is disabled by default (as per poll interval = 0)
#
# linkvalidation.pollInterval - Poll interval to check getLatestSnapshotID (in milliseconds), eg. 5000 for 5 sec interval
# If pollInterval is 0, link validation is disabled.
#
# linkvalidation.retryInterval - Retry interval (Virtualization server is not accessible or an error has occurred
# during link validation.
#
# linkvalidation.disableOnFail - If set to TRUE link validation service will be terminated if an error will be occurred.
linkvalidation.pollInterval=0
linkvalidation.retryInterval=120000
linkvalidation.disableOnFail=false
# ECM content usages/quotas
system.usages.enabled=true
# Repository endpoint - used by Activity Service
repo.remote.url=http://localhost:8080/alfresco
repo.remote.endpoint=/service
# Create home folders as people are created (true) or create them lazily (false)
home.folder.creation.eager=true
# The well known RMI registry port is defined in the alfresco-shared.properties file
# host will need to be changed from localhost to make the services available to other
# computers.
#
# alfresco.rmi.services.port=50500
# alfresco.rmi.services.host=localhost
#
# RMI service ports for the individual services.
# These eight services are available remotely.
#
# Assign individual ports for each service for best performance
# or run several services on the same port, you can even run everything on 50500 if
# running through a firewall.
#
# Specify 0 to use a random unused port.
#
avm.rmi.service.port=50501
avmsync.rmi.service.port=50502
attribute.rmi.service.port=50503
authentication.rmi.service.port=50504
repo.rmi.service.port=50505
action.rmi.service.port=50506
deployment.rmi.service.port=50507
monitor.rmi.service.port=50508
# Should the Mbean server bind to an existing server. Set to true for most application servers.
# false for WebSphere clusters.
mbean.server.locateExistingServerIfPossible=true
# External executable locations
ooo.exe=soffice
ooo.user=${dir.root}/oouser
img.root=./ImageMagick
img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert
swf.exe=./bin/pdf2swf
# Property to enable upgrade from 2.1-A
V2.1-A.fixes.to.schema=0
#V2.1-A.fixes.to.schema=82
# The default authentication chain
authentication.chain=alfrescoNtlm1:alfrescoNtlm
# Default NFS user mappings
nfs.user.mappings=admin
nfs.user.mappings.default.uid=0
nfs.user.mappings.default.gid=0
# IMAP
imap.server.enabled=false
imap.server.port=143
imap.server.attachments.extraction.enabled=true
# Default IMAP mount points
imap.config.home.store=${spaces.store}
imap.config.home.rootPath=/${spaces.company_home.childname}
imap.config.home.folderPath=Imap Home
imap.config.server.mountPoints=AlfrescoIMAP
imap.config.server.mountPoints.default.mountPointName=IMAP
imap.config.server.mountPoints.default.modeName=ARCHIVE
imap.config.server.mountPoints.default.store=${spaces.store}
imap.config.server.mountPoints.default.rootPath=/${spaces.company_home.childname}
imap.config.server.mountPoints.value.AlfrescoIMAP.mountPointName=Alfresco IMAP
imap.config.server.mountPoints.value.AlfrescoIMAP.modeName=MIXED
# Activity feed max size and max age (eg. 44640 mins = 31 days)
activities.feed.max.size=100
activities.feed.max.age.mins=44640
# Subsystem unit test values. Will not have any effect on production servers
subsystems.test.beanProp.default.longProperty=123456789123456789
subsystems.test.beanProp.default.anotherStringProperty=Global Default
subsystems.test.beanProp=inst1,inst2,inst3
subsystems.test.beanProp.value.inst2.boolProperty=true
subsystems.test.beanProp.value.inst3.anotherStringProperty=Global Instance Default
subsystems.test.simpleProp2=true
subsystems.test.simpleProp3=Global Default3
# Deployment Service
deployment.service.numberOfSendingThreads=5
deployment.service.corePoolSize=2
deployment.service.maximumPoolSize=3
# Transfer Service
transferservice.receiver.enabled=true
transferservice.receiver.stagingDir=${java.io.tmpdir}/alfresco-transfer-staging
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!– Core and miscellaneous bean definitions –>
<beans>
<!– –>
<!– PERSISTENCE –>
<!– –>
<!– Load runtime-dependent properties (e.g.: alfresco.jmx.dir). –>
<!– Note: This bean relies on PropertyPlaceholderConfigurer (should be ordered before "shared-properties") –>
<bean id="runtimeProperties" class="org.alfresco.util.RuntimeSystemPropertiesSetter">
<property name="order">
<value>5</value>
</property>
</bean>
<!– Ensure backward compatibility with installations that control custom properties through repository-properties –>
<bean id="legacyConfigPostProcessor" class="org.alfresco.repo.management.subsystems.LegacyConfigPostProcessor"/>
<!– Global properties used in property expansion throughout the container, overridable via JNDI or System properties –>
<bean id="global-properties" class="org.alfresco.config.JndiPropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:alfresco/repository.properties</value>
<value>classpath:alfresco/domain/transaction.properties</value>
<!– <value>classpath:alfresco/jndi.properties</value> –>
<!– Overrides supplied by modules –>
<value>classpath*:alfresco/module/*/alfresco-global.properties</value>
<!– Installer or user-provided defaults –>
<value>classpath*:alfresco-global.properties</value>
</list>
</property>
<property name="systemPropertiesModeName">
<value>SYSTEM_PROPERTIES_MODE_OVERRIDE</value>
</property>
<!– Extra properties that have no defaults that we allow to be defined through JNDI or System properties –>
<property name="systemProperties">
<list>
<value>hibernate.dialect</value>
<value>hibernate.query.substitutions</value>
<value>hibernate.jdbc.use_get_generated_keys</value>
<value>hibernate.default_schema</value>
</list>
</property>
</bean>
<!– Expand global properties and version information in bean definitions –>
<bean id="repository-properties"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<!– Non-overridable version information –>
<value>classpath:alfresco/version.properties</value>
</list>
</property>
<property name="ignoreUnresolvablePlaceholders">
<value>true</value>
</property>
<property name="properties">
<ref bean="global-properties"/>
</property>
<!– Do not allow version information to be overriden –>
<property name="localOverride">
<value>false</value>
</property>
<property name="systemPropertiesModeName">
<value>SYSTEM_PROPERTIES_MODE_NEVER</value>
</property>
</bean>
<!– Load properties that must be shared between the –>
<!– Alfresco server and its remote clients. –>
<!– –>
<!– Note: This is done in a separate bean to make it –>
<!– for users who have already overridden their –>
<!– "repository-properties" in a dev-context.xml –>
<!– or custom-db-and-data-context.xml file. –>
<bean id="shared-properties"
class="org.alfresco.config.JndiPropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders">
<value>true</value>
</property>
<property name="locations">
<list>
<value>classpath:alfresco/alfresco-shared.properties</value>
</list>
</property>
<property name="order">
<value>10</value>
</property>
</bean>
<bean id="jgroupsPropertySetter" class="org.alfresco.config.SystemPropertiesSetterBean" init-method="init">
<property name="propertyMap">
<map>
<entry key="jgroups.bind_addr">
<value>${alfresco.jgroups.bind_address}</value>
</entry>
<entry key="jgroups.bind_interface">
<value>${alfresco.jgroups.bind_interface}</value>
</entry>
<entry key="alfresco.tcp.start_port">
<value>${alfresco.tcp.start_port}</value>
</entry>
<entry key="alfresco.tcp.initial_hosts">
<value>${alfresco.tcp.initial_hosts}</value>
</entry>
<entry key="alfresco.tcp.port_range">
<value>${alfresco.tcp.port_range}</value>
</entry>
<entry key="alfresco.udp.mcast_addr">
<value>${alfresco.udp.mcast_addr}</value>
</entry>
<entry key="alfresco.udp.mcast_port">
<value>${alfresco.udp.mcast_port}</value>
</entry>
</map>
</property>
</bean>
<!– Custom MBeanServer –>
<bean id="alfrescoMBeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean">
<property name="locateExistingServerIfPossible" value="${mbean.server.locateExistingServerIfPossible}" />
</bean>
<!–
The local in process RMI registry which will be bound to the address in
java.rmi.server.hostname
–>
<bean id="registry"
class="org.springframework.remoting.rmi.RmiRegistryFactoryBean"
lazy-init="true">
<property name="port" value="${alfresco.rmi.services.port}"/>
</bean>
<!– MBeanServer Connector (registers itself with custom alfrescoMBeanServer) –>
<bean id="serverConnector"
class="org.springframework.jmx.support.ConnectorServerFactoryBean"
depends-on="registry"
lazy-init="true">
<property name="server" ref="alfrescoMBeanServer"/>
<property name="objectName" value="connector:name=rmi"/>
<property name="serviceUrl" value="service:jmx:rmi://${alfresco.rmi.services.host}:${monitor.rmi.service.port}/jndi/rmi://${alfresco.rmi.services.host}:${alfresco.rmi.services.port}/alfresco/jmxrmi" />
<property name="environment">
<map>
<!– The following keys are only valid when sun jmx is used –>
<entry key="jmx.remote.x.password.file" value="${alfresco.jmx.dir}/alfresco-jmxrmi.password"/>
<entry key="jmx.remote.x.access.file" value="${alfresco.jmx.dir}/alfresco-jmxrmi.access"/>
</map>
</property>
</bean>
<bean id="propertyBackedBeanRegistry" class="org.alfresco.repo.management.subsystems.DefaultPropertyBackedBeanRegistry"/>
<bean id="abstractPropertyBackedBean" class="org.alfresco.repo.management.subsystems.AbstractPropertyBackedBean"
abstract="true">
<property name="registry">
<ref local="propertyBackedBeanRegistry" />
</property>
<!– Ensure that child application contexts propagate global default values –>
<property name="propertyDefaults">
<ref local="global-properties" />
</property>
</bean>
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
<property name="server" ref="alfrescoMBeanServer"/>
<property name="beans">
<map>
<!– Used by Alfresco WCM Virtualisation server –>
<entry key="Alfresco:Name=VirtServerRegistry,Type=VirtServerRegistry" value-ref="VirtServerRegistry"/>
</map>
</property>
<property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING"/>
</bean>
<!– MBeans registered with alfrescoMBeanServer –>
<bean id="VirtServerRegistry"
class="org.alfresco.mbeans.VirtServerRegistry"
init-method="initialize" >
<!– Authentication info to contact remote virtualization server –>
<!– NOTE: –>
<!– On the machine hosting the virtualization server, –>
<!– $VIRTUAL_TOMCAT_HOME/conf/alfresco-jmxrmi.password and –>
<!– $VIRTUAL_TOMCAT_HOME/conf/alfresco-jmxrmi.access –>
<!– should have the same data as the corresponding files –>
<!– contained here within the Alfresco webapp server. –>
<!– By default, they do; however, if you change the password –>
<!– file on one server, be sure to change it on the other. –>
<!– –>
<!– WARNING: –>
<!– For security, be certain that *only* the uid under which –>
<!– the servers run have read access to the password files –>
<!– (e.g.: under Unix, chmod them to "400"). –>
<property name="passwordFile"
value="${alfresco.jmx.dir}/alfresco-jmxrmi.password"/>
<property name="accessFile"
value="${alfresco.jmx.dir}/alfresco-jmxrmi.access"/>
</bean>
<!–
http://wiki.alfresco.com/wiki/Developing_an_Alfresco_Module#log4j.properties
–>
<bean id="log4JHierarchyInit" class="org.alfresco.repo.admin.Log4JHierarchyInit" init-method="init">
<property name="extraLog4jUrls">
<list>
<!– NOTE: value entries are listed from lowest precedence to highest. –>
<!– Installed AMP modules –>
<value>classpath*:alfresco/module/*/log4j.properties</value>
<!– Other installed extensions –>
<value>classpath*:alfresco/extension/*-log4j.properties</value>
<!– private developer overrides –>
<value>classpath*:alfresco/extension/dev-log4j.properties</value>
</list>
</property>
</bean>
<bean id="RepoServerMgmt" class="org.alfresco.repo.admin.RepoServerMgmt">
<property name="transactionService"><ref bean="transactionService"/></property>
<property name="authenticationService"><ref bean="authenticationService"/></property>
</bean>
<!– Datasource bean –>
<bean id="defaultDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>${db.driver}</value>
</property>
<property name="url">
<value>${db.url}</value>
</property>
<property name="username">
<value>${db.username}</value>
</property>
<property name="password">
<value>${db.password}</value>
</property>
<property name="initialSize" >
<value>${db.pool.initial}</value>
</property>
<property name="maxActive" >
<value>${db.pool.max}</value>
</property>
<property name="minIdle" >
<value>${db.pool.min}</value>
</property>
<property name="maxIdle" >
<value>${db.pool.idle}</value>
</property>
<property name="defaultAutoCommit" >
<value>false</value>
</property>
<property name="defaultTransactionIsolation" >
<value>${db.txn.isolation}</value>
</property>
<property name="maxWait" >
<value>${db.pool.wait.max}</value>
</property>
<property name="validationQuery" >
<value>${db.pool.validate.query}</value>
</property>
<property name="timeBetweenEvictionRunsMillis" >
<value>${db.pool.evict.interval}</value>
</property>
<property name="minEvictableIdleTimeMillis" >
<value>${db.pool.evict.idle.min}</value>
</property>
<property name="testOnBorrow" >
<value>${db.pool.validate.borrow}</value>
</property>
<property name="testOnReturn" >
<value>${db.pool.validate.return}</value>
</property>
<property name="testWhileIdle" >
<value>${db.pool.evict.validate}</value>
</property>
<property name="removeAbandoned" >
<value>${db.pool.abandoned.detect}</value>
</property>
<property name="removeAbandonedTimeout" >
<value>${db.pool.abandoned.time}</value>
</property>
<property name="poolPreparedStatements" >
<value>${db.pool.statements.enable}</value>
</property>
<property name="maxOpenPreparedStatements" >
<value>${db.pool.statements.max}</value>
</property>
</bean>
<bean id="dataSource" class="org.alfresco.config.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/dataSource</value>
</property>
<property name="defaultObject">
<ref bean="defaultDataSource" />
</property>
</bean>
<!– transaction service –>
<alias name="transactionService" alias="transactionComponent"/>
<bean id="transactionService" class="org.alfresco.repo.transaction.TransactionServiceImpl">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="authenticationContext">
<ref bean="authenticationContext" />
</property>
<property name="sysAdminParams">
<ref bean="sysAdminParams"/>
</property>
<property name="allowWrite">
<value>${server.transaction.allow-writes}</value>
</property>
<property name="maxRetries">
<value>${server.transaction.max-retries}</value>
</property>
<property name="minRetryWaitMs">
<value>${server.transaction.min-retry-wait-ms}</value>
</property>
<property name="maxRetryWaitMs">
<value>${server.transaction.max-retry-wait-ms}</value>
</property>
<property name="retryWaitIncrementMs">
<value>${server.transaction.wait-increment-ms}</value>
</property>
</bean>
<bean id="retryingTransactionHelper" class="org.alfresco.repo.transaction.RetryingTransactionHelper">
<property name="transactionService">
<ref bean="transactionService"/>
</property>
<property name="maxRetries">
<value>${server.transaction.max-retries}</value>
</property>
<property name="minRetryWaitMs">
<value>${server.transaction.min-retry-wait-ms}</value>
</property>
<property name="maxRetryWaitMs">
<value>${server.transaction.max-retry-wait-ms}</value>
</property>
<property name="retryWaitIncrementMs">
<value>${server.transaction.wait-increment-ms}</value>
</property>
</bean>
<bean id="retryingWriteTxnAdvice" class="org.alfresco.repo.transaction.RetryingTransactionAdvice">
<property name="txnHelper">
<ref bean="retryingTransactionHelper"/>
</property>
<property name="readOnly">
<value>false</value>
</property>
<property name="requiresNew">
<value>false</value>
</property>
</bean>
<bean id="retryingReadTxnAdvice" class="org.alfresco.repo.transaction.RetryingTransactionAdvice">
<property name="txnHelper">
<ref bean="retryingTransactionHelper"/>
</property>
<property name="readOnly">
<value>true</value>
</property>
<property name="requiresNew">
<value>false</value>
</property>
</bean>
<bean id="checkTxnAdvice" class="org.alfresco.repo.transaction.CheckTransactionAdvice" />
<!– –>
<!– I18N –>
<!– –>
<bean id="resourceBundles" class="org.alfresco.i18n.ResourceBundleBootstrapComponent">
<property name="resourceBundles">
<list>
<value>alfresco.messages.system-messages</value>
<value>alfresco.messages.module-messages</value>
<value>alfresco.messages.dictionary-messages</value>
<value>alfresco.messages.version-service</value>
<value>alfresco.messages.permissions-service</value>
<value>alfresco.messages.content-service</value>
<value>alfresco.messages.coci-service</value>
<value>alfresco.messages.discussion-messages</value>
<value>alfresco.messages.template-service</value>
<value>alfresco.messages.templates-messages</value>
<value>alfresco.messages.lock-service</value>
<value>alfresco.messages.patch-service</value>
<value>alfresco.messages.period-provider</value>
<value>alfresco.messages.schema-update</value>
<value>alfresco.messages.webdav-messages</value>
<value>alfresco.messages.copy-service</value>
<value>alfresco.messages.avm-messages</value>
<value>alfresco.messages.linkvalidation-messages</value>
<value>alfresco.messages.content-filter-languages</value>
<value>alfresco.messages.jbpm-engine-messages</value>
</list>
</property>
</bean>
<!– Repo-based Message Service (based on Core I18NUtil) –>
<bean id="messageService" class="org.alfresco.repo.i18n.MessageServiceImpl">
<property name="tenantService">
<ref bean="tenantService"/>
</property>
<property name="searchService">
<ref bean="SearchService"/>
</property>
<property name="namespaceService">
<ref bean="namespaceService"/>
</property>
<property name="nodeService">
<ref bean="NodeService" />
</property>
<property name="contentService">
<ref bean="ContentService"/>
</property>
<property name="resourceBundleBaseNamesCache">
<ref bean="resourceBundleBaseNamesCache"/>
</property>
<property name="loadedResourceBundlesCache">
<ref bean="loadedResourceBundlesCache"/>
</property>
<property name="messagesCache">
<ref bean="messagesCache"/>
</property>
</bean>
<!– –>
<!– Property Component –>
<!– –>
<bean id="propertyValueComponent" class="org.alfresco.repo.props.PropertyValueComponentImpl" init-method="init">
<property name="propertyValueDAO" ref="propertyValueDAO"/>
</bean>
<!– –>
<!– Indexing and Search API –>
<!– –>
<bean id="indexerComponent" class="org.alfresco.repo.search.IndexerComponent">
<property name="storeRedirectorProxyFactory">
<ref bean="&indexerAndSearcherFactory" />
</property>
<!–
<property name="indexerAndSearcherFactory">
<ref bean="indexerAndSearcherFactory" />
</property>
–>
</bean>
<bean id="searchService" class="org.alfresco.repo.search.SearcherComponent">
<property name="indexerAndSearcherFactory">
<ref bean="indexerAndSearcherFactory" />
</property>
</bean>
<bean id="admSearchService" class="org.alfresco.repo.search.SearcherComponent">
<property name="indexerAndSearcherFactory">
<ref bean="admLuceneIndexerAndSearcherFactory" />
</property>
</bean>
<bean id="versionSearchService" class="org.alfresco.repo.search.SearcherComponent">
<property name="indexerAndSearcherFactory">
<ref bean="admLuceneUnIndexedIndexerAndSearcherFactory" />
</property>
</bean>
<!– –>
<!– Generic factory for making indexers and searchers for a given protol or store –>
<!– –>
<bean id="indexerAndSearcherFactory" class="org.alfresco.repo.service.StoreRedirectorProxyFactory">
<property name="proxyInterface">
<value>org.alfresco.repo.search.impl.lucene.LuceneIndexerAndSearcher</value>
</property>
<property name="defaultBinding">
<ref bean="admLuceneIndexerAndSearcherFactory"></ref>
</property>
<property name="redirectedProtocolBindings">
<map>
<entry key="workspace">
<ref bean="admLuceneIndexerAndSearcherFactory"></ref>
</entry>
<entry key="avm">
<ref bean="avmLuceneIndexerAndSearcherFactory"></ref>
</entry>
</map>
</property>
<property name="redirectedStoreBindings">
<map>
<entry key="workspace://lightWeightVersionStore">
<ref bean="admLuceneUnIndexedIndexerAndSearcherFactory"></ref>
</entry>
<entry key="workspace://version2Store">
<ref bean="admLuceneUnIndexedIndexerAndSearcherFactory"></ref>
</entry>
</map>
</property>
</bean>
<bean id="categoryService" class="org.alfresco.repo.service.StoreRedirectorProxyFactory">
<property name="proxyInterface">
<value>org.alfresco.service.cmr.search.CategoryService</value>
</property>
<property name="defaultBinding">
<ref bean="luceneCategoryService"></ref>
</property>
<property name="redirectedProtocolBindings">
<map>
<entry key="workspace">
<ref bean="luceneCategoryService"></ref>
</entry>
<entry key="versionStore">
<ref bean="luceneCategoryService"></ref>
</entry>
<entry key="avm">
<ref bean="luceneCategoryService"></ref>
</entry>
</map>
</property>
</bean>
<bean id="indexThreadPoolExecutor" class="org.alfresco.util.ThreadPoolExecutorFactoryBean">
<property name="poolName">
<value>indexThread</value>
</property>
<property name="corePoolSize">
<value>10</value>
</property>
<property name="maximumPoolSize">
<value>20</value>
</property>
<property name="threadPriority">
<value>5</value>
</property>
</bean>
<bean id="lucene.fts.alfresco" class="org.alfresco.repo.search.impl.lucene.LuceneAlfrescoFtsQueryLanguage" >
<property name="queryEngine">
<ref bean="adm.luceneQueryEngineImpl" />
</property>
<property name="factories">
<list>
<ref bean="admLuceneIndexerAndSearcherFactory" />
<ref bean="admLuceneUnIndexedIndexerAndSearcherFactory" />
<ref bean="avmLuceneIndexerAndSearcherFactory" />
</list>
</property>
</bean>
<bean id="abstractLuceneIndexerAndSearcherFactory" abstract="true">
<property name="indexRootLocation">
<value>${dir.indexes}</value>
</property>
<property name="lockDirectory">
<value>${dir.indexes.lock}</value>
</property>
<property name="maxAtomicTransformationTime">
<value>${lucene.maxAtomicTransformationTime}</value> <!– milliseconds allowed for inline text transformation –>
</property>
<property name="queryMaxClauses">
<value>${lucene.query.maxClauses}</value>
</property>
<property name="indexerBatchSize">
<value>${lucene.indexer.batchSize}</value>
</property>
<!– cache –>
<property name="cacheEnabled">
<value>${lucene.indexer.cacheEnabled}</value>
</property>
<property name="maxDocIdCacheSize">
<value>${lucene.indexer.maxDocIdCacheSize}</value>
</property>
<property name="maxDocumentCacheSize">
<value>${lucene.indexer.maxDocumentCacheSize}</value>
</property>
<property name="maxIsCategoryCacheSize">
<value>${lucene.indexer.maxIsCategoryCacheSize}</value>
</property>
<property name="maxLinkAspectCacheSize">
<value>${lucene.indexer.maxLinkAspectCacheSize}</value>
</property>
<property name="maxParentCacheSize">
<value>${lucene.indexer.maxParentCacheSize}</value>
</property>
<property name="maxPathCacheSize">
<value>${lucene.indexer.maxPathCacheSize}</value>
</property>
<property name="maxTypeCacheSize">
<value>${lucene.indexer.maxTypeCacheSize}</value>
</property>
<!– merge indexers –>
<property name="mergerMaxMergeDocs">
<value>${lucene.indexer.mergerMaxMergeDocs}</value>
</property>
<property name="mergerMergeFactor">
<value>${lucene.indexer.mergerMergeFactor}</value>
</property>
<property name="mergerMergeBlockingFactor">
<value>${lucene.indexer.mergerMergeBlockingFactor}</value>
</property>
<property name="mergerMaxBufferedDocs">
<value>${lucene.indexer.mergerMaxBufferedDocs}</value>
</property>
<property name="mergerRamBufferSizeMb">
<value>${lucene.indexer.mergerRamBufferSizeMb}</value>
</property>
<!– delta indexers –>
<property name="writerMaxMergeDocs">
<value>${lucene.indexer.writerMaxMergeDocs}</value>
</property>
<property name="writerMergeFactor">
<value>${lucene.indexer.writerMergeFactor}</value>
</property>
<property name="writerMaxBufferedDocs">
<value>${lucene.indexer.writerMaxBufferedDocs}</value>
</property>
<property name="writerRamBufferSizeMb">
<value>${lucene.indexer.writerRamBufferSizeMb}</value>
</property>
<!– target –>
<property name="mergerTargetIndexCount">
<value>${lucene.indexer.mergerTargetIndexCount}</value>
</property>
<property name="mergerTargetOverlayCount">
<value>${lucene.indexer.mergerTargetOverlayCount}</value>
</property>
<property name="mergerTargetOverlaysBlockingFactor">
<value>${lucene.indexer.mergerTargetOverlaysBlockingFactor}</value>
</property>
<property name="maxDocsForInMemoryMerge">
<value>${lucene.indexer.maxDocsForInMemoryMerge}</value>
</property>
<property name="maxRamInMbForInMemoryMerge">
<value>${lucene.indexer.maxRamInMbForInMemoryMerge}</value>
</property>
<property name="maxDocsForInMemoryIndex">
<value>${lucene.indexer.maxDocsForInMemoryIndex}</value>
</property>
<property name="maxRamInMbForInMemoryIndex">
<value>${lucene.indexer.maxRamInMbForInMemoryIndex}</value>
</property>
<!– other –>
<property name="termIndexInterval">
<value>${lucene.indexer.termIndexInterval}</value>
</property>
<property name="useNioMemoryMapping">
<value>${lucene.indexer.useNioMemoryMapping}</value>
</property>
<property name="postSortDateTime">
<value>${lucene.indexer.postSortDateTime}</value>
</property>
<property name="defaultMLIndexAnalysisMode">
<value>${lucene.indexer.defaultMLIndexAnalysisMode}</value>
</property>
<property name="defaultMLSearchAnalysisMode">
<value>${lucene.indexer.defaultMLSearchAnalysisMode}</value>
</property>
<property name="indexerMaxFieldLength">
<value>${lucene.indexer.maxFieldLength}</value>
</property>
<property name="writeLockTimeout">
<value>${lucene.write.lock.timeout}</value>
</property>
<property name="commitLockTimeout">
<value>${lucene.commit.lock.timeout}</value>
</property>
<property name="lockPollInterval">
<value>${lucene.lock.poll.interval}</value>
</property>
</bean>
<!– Indexer and searchers for lucene –>
<bean id="admLuceneIndexerAndSearcherFactory"
parent="abstractLuceneIndexerAndSearcherFactory"
class="org.alfresco.repo.search.impl.lucene.ADMLuceneIndexerAndSearcherFactory">
<property name="nodeService">
<ref bean="mlAwareNodeService" />
</property>
<property name="tenantService">
<ref bean="tenantService"/>
</property>
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="nameSpaceService">
<ref bean="namespaceService" />
</property>
<property name="contentService">
<ref bean="contentService" />
</property>
<property name="queryRegister">
<ref bean="queryRegisterComponent" />
</property>
<property name="threadPoolExecutor">
<ref bean="indexThreadPoolExecutor"></ref>
</property>
<property name="bulkLoader">
<ref bean="nodeDaoServiceImpl"></ref>
</property>
</bean>
<bean id="adm.luceneQueryEngineImpl" class="org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneQueryEngine" >
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="indexAndSearcher">
<ref bean="admLuceneIndexerAndSearcherFactory" />
</property>
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="tenantService">
<ref bean="tenantService" />
</property>
<property name="namespaceService">
<ref bean="namespaceService" />
</property>
</bean>
<!– Indexer and searchers for lucene –>
<bean id="admLuceneUnIndexedIndexerAndSearcherFactory"
parent="abstractLuceneIndexerAndSearcherFactory"
class="org.alfresco.repo.search.impl.lucene.ADMLuceneUnIndexedIndexAndSearcherFactory">
<property name="nodeService">
<ref bean="mlAwareNodeService" />
</property>
<property name="tenantService">
<ref bean="tenantService"/>
</property>
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="nameSpaceService">
<ref bean="namespaceService" />
</property>
<property name="contentService">
<ref bean="contentService" />
</property>
<property name="queryRegister">
<ref bean="queryRegisterComponent" />
</property>
<property name="threadPoolExecutor">
<ref bean="indexThreadPoolExecutor"></ref>
</property>
</bean>
<!– Indexer and searchers for lucene –>
<bean id="avmLuceneIndexerAndSearcherFactory"
parent="abstractLuceneIndexerAndSearcherFactory"
class="org.alfresco.repo.search.impl.lucene.AVMLuceneIndexerAndSearcherFactory">
<property name="nodeService">
<ref bean="mlAwareNodeService" />
</property>
<property name="tenantService">
<ref bean="tenantService"/>
</property>
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="nameSpaceService">
<ref bean="namespaceService" />
</property>
<property name="contentService">
<ref bean="contentService" />
</property>
<property name="contentStore">
<ref bean="fileContentStore"/>
</property>
<property name="avmService">
<ref bean="avmService" />
</property>
<property name="avmSyncService">
<ref bean="avmSyncService" />
</property>
<property name="queryRegister">
<ref bean="queryRegisterComponent" />
</property>
<property name="threadPoolExecutor">
<ref bean="indexThreadPoolExecutor"></ref>
</property>
</bean>
<bean id="avm.luceneQueryEngineImpl" class="org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneQueryEngine" >
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="indexAndSearcher">
<ref bean="avmLuceneIndexerAndSearcherFactory" />
</property>
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="tenantService">
<ref bean="tenantService" />
</property>
<property name="namespaceService">
<ref bean="namespaceService" />
</property>
</bean>
<!– Indexer and searchers for lucene –>
<bean id="luceneCategoryService" class="org.alfresco.repo.search.impl.lucene.LuceneCategoryServiceImpl">
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="publicNodeService">
<ref bean="NodeService" />
</property>
<property name="tenantService">
<ref bean="tenantService"/>
</property>
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="namespacePrefixResolver">
<ref bean="namespaceService" />
</property>
<property name="indexerAndSearcher">
<ref bean="indexerAndSearcherFactory" />
</property>
</bean>
<!– –>
<!– Lock Service –>
<!– –>
<bean id="lockService" class="org.alfresco.repo.lock.LockServiceImpl" init-method="init">
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="tenantService">
<ref bean="tenantService" />
</property>
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
<property name="authenticationService">
<ref bean="authenticationService"></ref>
</property>
<property name="ownableService">
<ref bean="ownableService"></ref>
</property>
<property name="searchService">
<ref bean="admSearchService"></ref>
</property>
</bean>
<!– –>
<!– Version Service –>
<!– –>
<bean id="versionService" class="org.alfresco.repo.version.Version2ServiceImpl" init-method="initialise">
<property name="nodeService">
<ref bean="NodeService" />
</property>
<property name="dbNodeService">
<ref bean="mtAwareNodeService" />
</property>
<property name="searcher">
<ref bean="versionSearchService" />
</property>
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
<property name="policyBehaviourFilter">
<ref bean="policyBehaviourFilter" />
</property>
<property name="permissionService">
<ref bean="permissionService" />
</property>
<property name="onlyUseDeprecatedV1">
<value>${version.store.onlyUseDeprecatedV1}</value>
</property>
</bean>
<bean id="versionNodeService" class="org.alfresco.repo.version.Node2ServiceImpl">
<property name="contentDataDAO">
<ref bean="contentDataDAO" />
</property>
<property name="dbNodeService">
<ref bean="mtAwareNodeService" />
</property>
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
</bean>
<bean id="serialVersionLabelPolicy" class="org.alfresco.repo.version.common.versionlabel.SerialVersionLabelPolicy" >
</bean>
<bean id="registerContentWithVersionService" class="org.alfresco.repo.version.VersionServiceVersionLabelRegistrationBean" init-method="register">
<property name="versionService">
<ref bean="versionService" />
</property>
<property name="namespacePrefixResolver">
<ref bean="namespaceService" />
</property>
<property name="typeQName">
<value>cm:content</value>
</property>
<property name="policy">
<ref bean="serialVersionLabelPolicy" />
</property>
</bean>
<bean id="registerMLContainerWithVersionService" class="org.alfresco.repo.version.VersionServiceVersionLabelRegistrationBean" init-method="register">
<property name="versionService">
<ref bean="versionService" />
</property>
<property name="namespacePrefixResolver">
<ref bean="namespaceService" />
</property>
<property name="typeQName">
<value>cm:mlContainer</value>
</property>
<property name="policy">
<ref bean="serialVersionLabelPolicy" />
</property>
</bean>
<!– –>
<bean id="versionMigrator" class="org.alfresco.repo.version.VersionMigrator" init-method="init">
<property name="dbNodeService">
<ref bean="mtAwareNodeService" />
</property>
<property name="versionNodeService">
<ref bean="versionNodeService" />
</property>
<property name="version2ServiceImpl">
<ref bean="versionService" />
</property>
<property name="policyBehaviourFilter">
<ref bean="policyBehaviourFilter" />
</property>
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="transactionService">
<ref bean="transactionService"/>
</property>
</bean>
<bean id="versionableAspect" class="org.alfresco.repo.version.VersionableAspect" init-method="init">
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
<property name="versionService">
<ref bean="versionService"/>
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
</bean>
<!– –>
<!– Data Dictionary –>
<!– –>
<!– Constraint Registry –>
<bean id="cm:constraintRegistry" class="org.alfresco.repo.dictionary.constraint.ConstraintRegistry" />
<bean id="namespaceDAO" class="org.alfresco.repo.dictionary.NamespaceDAOImpl">
<property name="tenantService">
<ref bean="tenantService"/>
</property>
<property name="namespaceRegistryCache">
<ref bean="prefixesCache"/>
</property>
</bean>
<bean id="dictionaryModelType" class="org.alfresco.repo.dictionary.DictionaryModelType" init-method="init">
<property name="dictionaryDAO">
<ref bean="dictionaryDAO" />
</property>
<property name="namespaceDAO">
<ref bean="namespaceDAO" />
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="contentService">
<ref bean="contentService"/>
</property>
</bean>
<bean id="dictionaryDAO" class="org.alfresco.repo.dictionary.DictionaryDAOImpl">
<constructor-arg index="0">
<ref bean="namespaceDAO" />
</constructor-arg>
<property name="tenantService">
<ref bean="tenantService"/>
</property>
<property name="dictionaryRegistryCache">
<ref bean="compiledModelsCache"/>
</property>
</bean>
<bean id="dictionaryService" class="org.alfresco.repo.dictionary.DictionaryComponent" depends-on="dictionaryBootstrap">
<property name="dictionaryDAO">
<ref bean="dictionaryDAO" />
</property>
</bean>
<bean id="namespaceService" class="org.alfresco.repo.dictionary.DictionaryNamespaceComponent"
depends-on="dictionaryDAO">
<property name="namespaceDAO">
<ref bean="namespaceDAO" />
</property>
</bean>
<bean id="dictionaryModelBootstrap" class="org.alfresco.repo.dictionary.DictionaryBootstrap" init-method="bootstrap" abstract="true">
<property name="dictionaryDAO"><ref local="dictionaryDAO"/></property>
<property name="tenantService">
<ref bean="tenantService"/>
</property>
</bean>
<bean id="dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="resourceBundles">
<property name="models">
<list>
<!– System models –>
<value>alfresco/model/dictionaryModel.xml</value>
<value>alfresco/model/systemModel.xml</value>
<value>org/alfresco/repo/security/authentication/userModel.xml</value>
<!– Content models –>
<value>alfresco/model/contentModel.xml</value>
<value>alfresco/model/renditionModel.xml</value>
<value>alfresco/model/bpmModel.xml</value>
<value>alfresco/model/wcmModel.xml</value>
<value>alfresco/model/forumModel.xml</value>
<value>alfresco/model/imapModel.xml</value>
<value>alfresco/model/transferModel.xml</value>
<!– Content models –>
<value>alfresco/model/applicationModel.xml</value>
<value>alfresco/model/wcmAppModel.xml</value>
<!– Implementation models –>
<value>org/alfresco/repo/action/actionModel.xml</value>
<value>org/alfresco/repo/rule/ruleModel.xml</value>
<!– Version models –>
<value>org/alfresco/repo/version/version_model.xml</value> <!– deprecated –>
<value>org/alfresco/repo/version/version2_model.xml</value>
<!– Email model –>
<value>alfresco/model/emailServerModel.xml</value>
<!– Calendar model –>
<value>alfresco/model/calendarModel.xml</value>
<!– Blog Integration model –>
<value>alfresco/model/blogIntegrationModel.xml</value>
<!– Links model –>
<value>alfresco/model/linksModel.xml</value>
<!– Share Data Lists model –>
<value>alfresco/model/datalistModel.xml</value>
<!– Deprecated types –>
<value>alfresco/model/deprecated/deprecated_contentModel.xml</value>
</list>
</property>
<property name="labels">
<list>
<value>alfresco/model/dataTypeAnalyzers</value>
<value>alfresco/messages/system-model</value>
<value>alfresco/messages/dictionary-model</value>
<value>alfresco/messages/content-model</value>
<value>alfresco/messages/bpm-messages</value>
<value>alfresco/messages/application-model</value>
<value>alfresco/messages/forum-model</value>
<value>alfresco/messages/email-server-model</value>
<value>alfresco/messages/data-list-model</value>
</list>
</property>
</bean>
<!– TODO - deprecate and replace with mechanism that does not rely on init-method (see AR-2207) –>
<bean id="extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
<property name="models">
<list>
<value>alfresco/model/defaultCustomModel.xml</value>
</list>
</property>
</bean>
<!– –>
<!– Copy Service –>
<!– –>
<!– Note this uses the node service that enforces permissions so you can only copy what you can see –>
<bean id="copyService" class="org.alfresco.repo.copy.CopyServiceImpl" init-method="init">
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="nodeService">
<ref bean="NodeService" />
</property>
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
<property name="ruleService">
<ref bean="ruleService" />
</property>
<property name="searchService">
<ref bean="ADMSearchService" />
</property>
<property name="permissionService">
<ref bean="PermissionService" />
</property>
<property name="authenticationService">
<ref bean="AuthenticationService" />
</property>
<property name="internalNodeService">
<ref bean="nodeService" />
</property>
</bean>
<!– –>
<!– CheckOut/CheckIn Service –>
<!– –>
<bean id="checkOutCheckInService" class="org.alfresco.repo.coci.CheckOutCheckInServiceImpl" init-method="init">
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="versionService">
<ref bean="versionService" />
</property>
<property name="lockService">
<ref bean="LockService" />
</property>
<property name="copyService">
<ref bean="CopyService" />
</property>
<property name="authenticationService">
<ref bean="authenticationService" />
</property>
<property name="fileFolderService">
<ref bean="fileFolderService" />
</property>
<property name="searchService">
<ref bean="searchService" />
</property>
<property name="versionableAspect">
<ref bean="versionableAspect" />
</property>
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
</bean>
<bean id="workingCopyAspect" class="org.alfresco.repo.coci.WorkingCopyAspect" init-method="init">
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
<property name="nodeService">
<ref bean="NodeService" />
</property>
<property name="lockService">
<ref bean="LockService" />
</property>
</bean>
<bean id="discussableAspect" class="org.alfresco.repo.forum.DiscussableAspect" init-method="init">
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
<property name="nodeService">
<ref bean="NodeService" />
</property>
<property name="fileFolderService">
<ref bean="fileFolderService" />
</property>
</bean>
<!– Bean to support full text search –>
<bean id="LuceneFullTextSearchIndexer"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" depends-on="indexerAndSearcherFactory">
<property name="proxyInterfaces">
<value>org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexer</value>
</property>
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref bean="luceneFullTextSearchIndexer" />
</property>
<property name="transactionAttributes">
<props>
<prop key="*">${server.transaction.mode.default}</prop>
</props>
</property>
</bean>
<bean id="luceneFullTextSearchIndexer" class="org.alfresco.repo.search.impl.lucene.fts.FullTextSearchIndexerImpl">
<property name="indexerAndSearcherFactory">
<ref bean="indexerAndSearcherFactory" />
</property>
</bean>
<!– Bean to backup Lucene indexes –>
<bean id="luceneIndexBackupComponent"
class="org.alfresco.repo.search.impl.lucene.AbstractLuceneIndexerAndSearcherFactory$LuceneIndexBackupComponent">
<property name="transactionService">
<ref bean="transactionService" />
</property>
<property name="factories">
<set>
<ref bean="admLuceneIndexerAndSearcherFactory" />
</set>
</property>
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="targetLocation">
<value>${dir.indexes.backup}</value>
</property>
<property name="checkConfiguration">
<value>true</value>
</property>
</bean>
<!– Query Register Component –>
<bean id="queryRegisterComponent" class="org.alfresco.repo.search.QueryRegisterComponentImpl">
<property name="dictionaryService">
<ref bean="dictionaryService" />
</property>
<property name="namespaceService">
<ref bean="namespaceService" />
</property>
<!– Query collections should be loaded on demand using this component - once loaded thay are available for use –>
</bean>
<!– Multilingual Document–>
<bean id="multilingualDocumentAspect" class="org.alfresco.repo.model.ml.MultilingualDocumentAspect" init-method="init">
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
<property name="nodeService">
<ref bean="nodeService" />
</property>
<property name="multilingualContentService">
<ref bean="multilingualContentService" />
</property>
</bean>
<!– Empty translation –>
<bean id="emptyTranslationAspect" class="org.alfresco.repo.model.ml.EmptyTranslationAspect" init-method="init">
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
<property name="nodeService">
<ref bean="mlAwareNodeService" />
</property>
</bean>
<!– Multilingual Container –>
<bean id="mlContainerType" class="org.alfresco.repo.model.ml.MLContainerType" init-method="init">
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
<property name="nodeService">
<ref bean="mlAwareNodeService" />
</property>
<property name="multilingualContentService">
<ref bean="multilingualContentService" />
</property>
</bean>
<!– Referenceable –>
<bean id="referenceableAspect" class="org.alfresco.repo.node.ReferenceableAspect" init-method="init">
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
</bean>
<!– Temporary Aspect –>
<bean id="temporaryAspect" class="org.alfresco.repo.node.TemporaryAspect" init-method="init">
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
</bean>
<!– Configurable service –>
<bean id="configurableService" class="org.alfresco.repo.configuration.ConfigurableServiceImpl">
<property name="nodeService">
<ref bean="nodeService" />
</property>
</bean>
<!– Registry service –>
<bean id="registryService" class="org.alfresco.repo.admin.registry.RegistryServiceImpl" init-method="init">
<property name="namespaceService">
<ref bean="namespaceService" />
</property>
<property name="searchService">
<ref bean="SearchService" />
</property>
<property name="nodeService">
<ref bean="NodeService" />
</property>
<!– Root properties –>
<property name="registryStore">
<value>system://system</value>
</property>
<property name="registryRootPath">
<value>/sys:system-registry</value>
</property>
</bean>
<bean id="serverDescriptorDAO" class="org.alfresco.repo.descriptor.ServerDescriptorDAOImpl">
<property name="repositoryName">
<value>${repository.name}</value>
</property>
<property name="resource">
<value>classpath:alfresco/version.properties</value>
</property>
</bean>
<bean id="currentRepoDescriptorDAO" class="org.alfresco.repo.descriptor.RepositoryDescriptorDAOImpl">
<property name="name">
<value>system.descriptor.current.childname</value>
</property>
<property name="systemBootstrap">
<ref bean="systemBootstrap"/>
</property>
<property name="transactionService">
<ref bean="transactionService"/>
</property>
<property name="namespaceService">
<ref bean="namespaceService"/>
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="contentService">
<ref bean="contentService"/>
</property>
<property name="searchService">
<ref bean="searchService"/>
</property>
</bean>
<bean id="installedRepoDescriptorDAO" class="org.alfresco.repo.descriptor.RepositoryDescriptorDAOImpl">
<property name="name">
<value>system.descriptor.childname</value>
</property>
<property name="systemBootstrap">
<ref bean="systemBootstrap"/>
</property>
<property name="transactionService">
<ref bean="transactionService"/>
</property>
<property name="namespaceService">
<ref bean="namespaceService"/>
</property>
<property name="nodeService">
<ref bean="nodeService"/>
</property>
<property name="contentService">
<ref bean="contentService"/>
</property>
<property name="searchService">
<ref bean="searchService"/>
</property>
</bean>
<!– Clustered (DB) locking Service –>
<bean id="jobLockService" class="org.alfresco.repo.lock.JobLockServiceImpl">
<property name="retryingTransactionHelper">
<bean class="org.alfresco.repo.transaction.RetryingTransactionHelper">
<property name="transactionService">
<ref bean="transactionService"/>
</property>
<property name="maxRetries">
<value>10</value>
</property>
<property name="minRetryWaitMs">
<value>10</value>
</property>
<property name="maxRetryWaitMs">
<value>10</value>
</property>
<property name="retryWaitIncrementMs">
<value>0</value>
</property>
</bean>
</property>
<property name="lockDAO" ref="lockDAO" />
<property name="defaultRetryCount"><value>10</value></property>
<property name="defaultRetryWait"><value>20</value></property>
</bean>
<!– Import the sys admin params from the sysAdmin subsystem –>
<bean id="sysAdminParams" class="org.alfresco.repo.management.subsystems.SubsystemProxyFactory">
<property name="sourceApplicationContextFactory">
<ref bean="sysAdmin" />
</property>
<property name="interfaces">
<list>
<value>org.alfresco.repo.admin.SysAdminParams</value>
</list>
</property>
</bean>
<!– Bean that can be used for publishing events, even when the app is starting up –>
<bean id="applicationEventPublisher" class="org.alfresco.repo.management.SafeEventPublisher"/>
<!– MAIL –>
<bean id="mailService" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host">
<value>${mail.host}</value>
</property>
<property name="port">
<value>${mail.port}</value>
</property>
<property name="protocol">
<value>${mail.transport.protocol}</value>
</property>
<property name="username">
<value>${mail.username}</value>
</property>
<property name="password">
<value>${mail.password}</value>
</property>
<property name="defaultEncoding">
<value>${mail.encoding}</value>
</property>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">${mail.smtp.auth}</prop>
<prop key="mail.smtp.socketFactory.port">${mail.smtp.socketFactory.port}</prop>
<prop key="mail.smtp.socketFactory.class">${mail.smtp.socketFactory.class}</prop>
<prop key="mail.smtp.socketFactory.fallback">${mail.smtp.socketFactory.fallback}</prop>
<prop key="mail.smtp.timeout">${mail.smtp.timeout}</prop>
</props>
</property>
</bean>
</beans>
08-26-2010 06:33 AM
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.