【问题标题】:How to sequence over a connector in Modeshape如何在 Modeshape 中对连接器进行排序
【发布时间】:2014-05-13 10:27:01
【问题描述】:

我正在将 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:filent:folder 节点。

没有image:metadata 节点是从在/test/** 下找到的适合排序器路径表达式的文件生成的,但是如果我要上传图像文件(在/test 文件夹之外),一切都会按预期工作(图像排序器执行排序)。

我还确保在工作区上执行reindex,以确保即使在文件系统连接器初始化之后,序列器也不会创建image:metadata节点。

我目前的工作是手动对这个节点进行排序(效果很好),但我想这可以由系统自动化,我错过了一些重要的配置选项。是否有人对我如何让音序器自动命中这些文件有任何启发,也许是在reindex 上?

【问题讨论】:

    标签: jcr modeshape


    【解决方案1】:

    此时,定序器仅在有指示内容更改的事件时运行。当存储库将外部文件系统作为节点加载时,这些不被视为“新”,因此排序器不会运行。

    随时加入 ModeShape community 并请求改进 ModeShape 以自动在这样的外部分区上运行排序器。

    【讨论】:

    • 感谢 Haunch 先生。我一定会看看论坛(我应该在第一个地方做的)。感谢您(和 Chiorean 先生)对 Modeshape 的工作和支持,我发现您所有关于 Modeshape/JCR 的 cmet 都散布在互联网上,非常简洁和有用。
    猜你喜欢
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2013-01-23
    相关资源
    最近更新 更多