【问题标题】:List all active Configuration for Config Admin in gogo shell列出 gogo shell 中 Config Admin 的所有活动配置
【发布时间】:2015-07-04 22:09:54
【问题描述】:

我想在屏幕上显示org.osgi.service.cm.ConfigurationAdmin.listConfigurations 方法通过 gogo shell 返回的Configuration 列表。我尝试了以下方法:

g! _sref = $.context getServiceReference "org.osgi.service.cm.ConfigurationAdmin"
g! _srv = $.context getService $_sref
g! $_srv listConfigurations

但它失败并出现以下错误:

gogo: IllegalArgumentException: Cannot coerce listconfigurations() to any of [(String)]

这里的正确语法是什么?有可能吗?

谢谢!

【问题讨论】:

    标签: osgi apache-felix gogo-shell


    【解决方案1】:

    使用以下 shell 命令来实现这一点可能要容易得多:

    https://bitbucket.org/pjtr/net.luminis.cmc

    其中有一个命令叫:

    cm list
    

    【讨论】:

      【解决方案2】:

      listConfigurations 方法接受一个字符串参数,它是一个过滤器。如果你只想要一个未过滤的列表,那么你可以传递null,例如:

      $_srv listConfigurations null
      

      这将返回一个配置对象数组,您可能希望使用each 命令对其进行迭代。

      但是,对于 Gogo 脚本来说,这种事情很快就会变得过于复杂。例如,您不会在任何地方发布带有ungetService 的服务引用。在 Java 中构建一个可重用的 Gogo 命令作为声明式服务组件可能会更好。

      【讨论】:

      • 所以最后写 null 就够了。谢谢你。顺便说一句,我使用的完整每个命令如下:_out = $_srv listConfigurations null / each [ $_out ] { echo $it }
      猜你喜欢
      • 1970-01-01
      • 2018-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多