0

Alfresco的属性可以在alfresco-global.properties中设置。

我有一个包含 5 个节点的集群,每当我必须更改设置(= 每天几次)时,我都需要对 5 个节点中的每一个进行修改。

我只想修改共享 NFS 驱动器上的单个文件。我曾想过让 alfresco-global.properties 成为一个符号链接,/nfs/nico/alfresco-global.properties但不幸的是每个节点都有不同的alfresco.jgroups.bind_address.

我想将配置拆分为两个文件:一个特定于每个集群节点的 CONF1 文件,以及一个通过 NFS 共享的通用 CONF2 文件。

问题:如何从 CONF1 “导入” CONF2?

4

1 回答 1

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>

您可以JndiPropertiesFactoryBean在自定义 Spring 上下文中声明一个新的,该上下文从方便的共享位置加载属性文件,或者您可以利用模块属性加载机制并确保您alfresco/module/cluster-defaults/alfresco-global.properties的类路径中指向这样的共享位置。

于 2012-06-25T12:21:02.880 回答