我有一个启动 Camel (2.10.0) 上下文的 OSGi 包(部署到 Karaf 2.2.4)。Camel 上下文的路由构建器有一些 xquery 端点 URI,例如
"xquery:classpath:Dir1/Dir2/example.xq"
当上下文尝试解析该 URI 时,它失败了,因为 Camel 包与 .xq 文件所在的类路径不同。所以,我创建了一个 url 扩展函数
"xquery:classpath:..."
进入
"xquery:bundle://42.0:6/..."
因为我在处理(Spring 3.1.1)时处理了捆绑 URI 和OsgiBundleResourcePatternResolver
项目的早期版本。ClassPathScanningCandidateComponentProvider
不幸的是,我似乎找不到让 CamelXQueryComponent
使用我的OsgiBundleResourcePatternResolver
.
- 我会以正确的方式解决这个问题吗?有没有更简单的方法来做到这一点?
- 如果我是,我如何确保
XQueryComponent
可以理解bundle:
URI? - 另外,我是否可以确保任何骆驼组件都可以理解
bundle:
URI?