Alfresco的属性可以在alfresco-global.properties中设置。
我有一个包含5个节点的集群,每当我必须更改设置(=每天几次)时,我需要对5个节点中的每个节点进行修改。
我想只修改共享NFS驱动器上的单个文件。我想过让alfresco-global.properties成为/nfs/nico/alfresco-global.properties
的符号链接,但不幸的是每个节点都有不同的alfresco.jgroups.bind_address
。
我想将配置分成两个文件:一个特定于每个群集节点的CONF1文件,以及一个通过NFS共享的公共CONF2文件。
问题:如何从CONF1“导入”CONF2?
答案 0 :(得分:2)
属性文件中没有“导入”机制。要解决您的问题,您确实需要从群集范围内部化特定于节点的属性。您设想通过网络附加FS从所有应用服务器访问同一文件的策略是最简单的解决方案。如果你看core-services-context.xml
,你会发现以下内容:
<!-- 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>
[...]
</bean>
您可以在自定义Spring上下文中声明一个新的JndiPropertiesFactoryBean
,该上下文从方便的共享位置加载属性文件,或者您可以利用模块属性加载机制并确保您拥有alfresco/module/cluster-defaults/alfresco-global.properties
在你的类路径中指向这样一个共享位置。