如何在查询FileSystemSource时排除modeshape文件?
它们都有jcr:createdBy 'null'
但是当我查询时,以下内容会导致空指针异常:
SELECT * FROM [nt:file] where [jcr:createdBy] != 'null'
这样可行:
SELECT * FROM [nt:file] where [jcr:createdBy] = '<anonymous>'
由于
答案 0 :(得分:1)
如果文件系统上的文件名为“foo.txt”,则ModeShape可能会在同一目录中放置“foo.txt.modeshape”文件。 “.modeshape”文件包含添加到“nt:file”,“nt:folder”和“nt:resource”节点的额外属性。
通常,您的文件系统连接器不应将此类文件公开给JCR存储库。如果是,那么您可能错误配置了连接器上的“extraPropertiesBehavior”设置。有关详细信息,请参阅connector documentation for ModeShape 2.8。 (请注意,如果您使用的是自定义属性工厂,则需要将“exclusionFilter”设置为忽略“.modeshape”文件。