【问题标题】:ServiceMix (FuseESB) fails to find Camel javascript support when jar starts upjar 启动时 ServiceMix (FuseESB) 无法找到 Camel javascript 支持
【发布时间】:2013-02-01 08:50:26
【问题描述】:

在将 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 功能。

特征输出:列表:

[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 

【问题讨论】:

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


    【解决方案1】:

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

    • 恢复为 spring xml 文件来定义 bean
    • 将代码打包成一个包,而不是一个 jar

    我仍然不明白为什么蓝图版本不起作用,但问题现在不像以前那么紧迫了。

    【讨论】:

      【解决方案2】:

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

      查看更多详情:http://fuse.fusesource.org/bundle/overview.html

      【讨论】:

        猜你喜欢
        • 2013-01-31
        • 1970-01-01
        • 1970-01-01
        • 2012-01-19
        • 1970-01-01
        • 1970-01-01
        • 2010-09-25
        • 1970-01-01
        • 2018-04-17
        相关资源
        最近更新 更多