0

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

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)]

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

谢谢!

4

2 回答 2

1

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

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

除其他外,其中有一个命令,称为:

cm list
于 2015-07-05T09:23:31.963 回答
0

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

$_srv listConfigurations null

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

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

于 2015-07-05T09:22:53.983 回答