我正在将Modeshape(4)实现为资产存储库。目前,我遇到序列发生器无法自动遍历已配置的externalSources
(特别是FileSystemConnector
)的问题。
2项服务的配置如下:
...
"externalSources": {
"local-fs" : {
"classname": "org.modeshape.connector.filesystem.FileSystemConnector",
"directoryPath": "src/test/resources/repository",
"addMimeTypeMixin": true,
"projections": [ "default:/test => /" ]
}
},
"sequencing": {
"sequencers": {
"Image Sequencer": {
"classname": "org.modeshape.sequencer.image.ImageMetadataSequencer",
"pathExpressions": [ "default://(*.(gif|png|pict|jpg|tiff|tif))/jcr:content[@jcr:data] => /images/$1" ]
}
}
},
...
使用此配置运行时,固定到/test
节点的文件夹已正确解析,其中包含的所有文件都会正确显示为nt:file
和nt:folder
个节点。
在image:metadata
下找到的符合序列发生器路径表达式的文件中没有生成/test/**
个节点,但是如果我要上传图像文件(在/test
文件夹之外),一切正常正如预期的那样(图像序列发生器执行排序)。
我还确保在工作区上执行reindex
,以确保即使在文件系统连接器初始化之后,序列器也没有创建image:metadata
个节点。
我目前的工作是手动排序这个节点(运行良好),但我想这可以由系统自动完成,我错过了一些重要的配置选项。有没有人有任何关于如何让音序器自动点击这些文件的煽动,可能在reindex
上?
答案 0 :(得分:1)
此时,序列发生器仅在发生内容发生变化的事件时才会运行。当存储库将外部文件系统作为节点加载时,这些不被视为“新”,因此序列发生器不会运行。
随意加入ModeShape community并请求改进ModeShape以自动在外部分区上运行这样的序列发生器。