为骆驼定制URIReslover

时间:2011-08-04 07:39:14

标签: java apache-camel

我们正在尝试使用xsl将xml转换为我们的自定义xml格式,使用camel及其开箱即用的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>

但是在这种情况下,camel没有调用我的customURIResolver 任何想法我如何使骆驼使用我的自定义URIResolver代替其默认的解析器

1 个答案:

答案 0 :(得分:1)

您最有可能使用#来表示其对注册表中bean的引用。

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