在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
答案 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作业和一些其他配置。