【问题标题】:Custom URIReslover for camel骆驼的自定义URIReslover
【发布时间】:2011-08-04 07:39:13
【问题描述】:

我们正在尝试使用 xsl 将 xml 转换为我们的自定义 xml 格式,使用骆驼及其开箱即用的 xslt 支持 这是一个示例路线

<from uri="file://target/inventory/updates?noop=true"/>
        <unmarshal>
                <csv />
            </unmarshal>
       <to uri="bean:XMLConverter?method=processCSVInvoice" />
       <to uri="xslt:file//target/inventory/updates/xlsconvertor/XMLConverter.xsl"/>
      <to uri="file://target/inventory/updates/test?fileName=test11.xml"/>
    </route>

我的问题是当我将这个 xls 文件放在类路径中时,camel 很高兴地选择 xls 并按照路线完成工作,但是当我们将 xls 文件放在类路径之外时,就像在文件系统中那样,骆驼是无法解决这个问题,我们感到震惊,因为使用 xls 的全部目的是从 jar 中获取自定义 xml 格式

作为一种解决方法,我尝试创建一个 customURLResolver,然后尝试将其用作

<from uri="file://target/inventory/updates?noop=true"/>
        <unmarshal>
                <csv />
            </unmarshal>
       <to uri="bean:XMLConverter?method=processCSVInvoice" />
       <to uri="xslt:file//target/inventory/updates/xlsconvertor/XMLConverter.xsl?uriResolver=customURIResolver"/>
      <to uri="file://target/inventory/updates/test?fileName=test11.xml"/>
    </route>

但在这种情况下骆驼没有调用我的 customURIResolver 知道如何让骆驼使用我的自定义 URIResolver 代替其默认解析器

【问题讨论】:

    标签: java apache-camel


    【解决方案1】:

    您很可能应该使用 # 来指示它对注册表中 bean 的引用。

    尝试按如下方式配置 uri: uriResolver=#customURIResolver

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多