如何从default-synchronization-context.xml重新定义Spring bean

时间:2015-06-11 12:45:24

标签: java spring alfresco

在Alfresco 5.0d中,许多Spring上下文XML文件都打包在JAR文件中。例如,文件default-synchronization-context.xml包含在

tomcat/webapps/alfresco/WEB-INF/lib/alfresco-repository-5.0.d.jar

如何重新定义此XML文件中定义的Spring bean ,并在" Synchronization"中使用。子系统?

我试图将此XML文件的更改版本放入

tomcat/shared/classes/alfresco/extension/subsystems/Synchronization/default 

没有效果。 Spring上下文甚至没有加载。将它直接放入

tomcat/shared/classes/alfresco/extension

至少会导致加载Spring上下文。但是在其中重新定义的任何bean仅用于Authentication(!)子系统,但在Synchronization子系统中

重新定义Synchronization子系统的Spring bean的正确方法是什么?

修改

根据评论中的要求,我从tomcat/shared/classes/alfresco-global.properties添加了一个属性:

authentication.chain=ldap1:ldap1,alfrescoNtlm1:alfrescoNtlm

1 个答案:

答案 0 :(得分:1)

authentication.chain属性定义了我们从中获取属性文件的位置。

URL下面是对此的描述。     露天/扩展/子系统/验证/ alfrescoNtlm / alfrescoNtlm1 / mychanges.properties

如果您注意到 alfrescoNtlm1 文件夹,则此文件夹名称必须与属性值 ldap1:ldap1, alfrescoNtlm1 :alfrescoNtlm 匹配。 (见斜体文字)

如果是上下文文件,您可以在同一文件夹中定义上下文文件,其名称后缀为 * - context

有关详细信息,请阅读以下链接的内容,特别是spring bean部分。

https://wiki.alfresco.com/wiki/Alfresco_Subsystems#Spring_Beans

如果这不起作用,则禁用现有文件并在扩展文件夹内创建新文件。通过查看该文件(default-synchronization-context.xml),我可以说它只是在一段时间后触发的cronjob,你需要定义一个cron作业和一些其他配置。