询问OSGi/Spring DM框架是否有捆绑包';s依赖关系

询问OSGi/Spring DM框架是否有捆绑包';s依赖关系,osgi,apache-karaf,spring-dm,Osgi,Apache Karaf,Spring Dm,我正在Karaf(4.0.1)实例中使用SpringDM,并尝试启动几个支持SpringDM的捆绑包(我不是该捆绑包的作者) 这些bundle有几个依赖项/服务依赖项,这些依赖项/服务依赖项将由springdm注入,我目前正在完成所有的依赖项,但是这项任务既费力又耗时 我目前使用了几个选项来确定依赖关系: 检查捆绑包的“META/Spring”文件夹,并检查其中的XML文件 安装捆绑包并检查Karaf日志中的捆绑包失败消息 这种方法对我来说不是很有效,我想知道是否有一种方法可以询问OSGi框架(

我正在Karaf(4.0.1)实例中使用SpringDM,并尝试启动几个支持SpringDM的捆绑包(我不是该捆绑包的作者)

这些bundle有几个依赖项/服务依赖项,这些依赖项/服务依赖项将由springdm注入,我目前正在完成所有的依赖项,但是这项任务既费力又耗时

我目前使用了几个选项来确定依赖关系:

  • 检查捆绑包的“META/Spring”文件夹,并检查其中的XML文件
  • 安装捆绑包并检查Karaf日志中的捆绑包失败消息
  • 这种方法对我来说不是很有效,我想知道是否有一种方法可以询问OSGi框架(在本例中是Karaf)或SpringDM本身,并询问特定捆绑包等待实现的内容

    我可以编写一个Karaf命令行命令来允许我这样做,但我不知道如何询问Spring DM或Karaf以获取信息


    有什么建议吗?

    您不必研究spring DM。第一步是确保所有包导入都正常工作。最简单的方法是查看bundle的清单以安装或使用bundle:headers。一旦捆绑包安装完毕,您就可以使用diag命令检查它正在等待哪些服务。

    如果捆绑包处于“等待”状态,diag只报告它正在等待,而不报告它在等待什么。我要么在日志中滚动查看bundle的安装时间,并查找“info”日志(蓝色文本),要么等待等待“timeout”,即使diag没有报告确切的故障。为此,我必须检查日志。如果我可以通过API调用简单地询问bundle X在等待什么,那就好了。如果存在这样的API,我可以创建一个Karaf命令,“等待”状态通常表示它正在等待服务。类似于标准蓝图服务的GracePeriod。因此,请确保所有这些要求都得到满足。当前的diag命令已经显示了blueprint bundle正在“等待”的内容,因此这也可以应用于spring dm bundle。diag命令中已经支持spring dm状态事件。bundle org.apache.karaf.bundle.springstate应提供此信息。如果已安装此捆绑包,但未找到等待的原因,则这是一个错误。你能在卡拉夫开个会吗?我可以调查一下。好的,我制造了一个问题。直到今天我才看到你的回复。我不会关注所有的卡拉夫问题。因此,如果你创建一个更好的链接后,让我看到它更快。