当jar启动时,ServiceMix(FuseESB)无法找到Camel javascript支持

时间:2013-02-16 13:08:04

标签: apache-camel osgi apache-servicemix blueprint-osgi fuseesb

当将Camel路由部署到FuseESB时,当FuseESB尝试启动jar文件时,它会在日志中提供以下异常:

Found initial references null for OSGi service (&(language=js)
(objectClass=org.apache.camel.spi.LanguageResolver))

这会导致捆绑包进入宽限期几分钟,然后超时并且其状态变为失败。请注意,我没有在应用程序中使用javascript,但我认为它是作为加载Camel核心的一部分加载的。

我的设置详情:

  • 使用OSGi蓝图xml文件编写有问题的代码来定义bean。
  • 代码打包为jar,而不是OSGi包。
  • 通过将代码放入部署目录来部署代码,以便由FAB部署者部署。

我相信我已经安装了相关的Camel功能。

功能输出:list:

[installed  ] [2.10.0.fuse-71-047] camel-script-javascript camel-2.10.0.fuse-71-047
[installed  ] [2.10.0.fuse-71-047] camel-script            camel-2.10.0.fuse-71-047 

2 个答案:

答案 0 :(得分:0)

我通过以下方式解决了这个问题:

  • 恢复到spring xml文件以定义bean
  • 将代码打包为捆绑包,而不是jar

我仍然不明白为什么蓝图版本没有用,但问题现在不那么紧迫了。

答案 1 :(得分:0)

使用FAB,您应该在pom.xml文件中声明Camel组件的依赖关系,并使用scope = provided。

详情请见:http://fuse.fusesource.org/bundle/overview.html