在 gogo shell 中列出 Config Admin 的所有活动配置
List all active Configuration for Config Admin in gogo shell
我想通过 gogo shell 在屏幕上显示 org.osgi.service.cm.ConfigurationAdmin.listConfigurations
方法返回的 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)]
此处正确的语法是什么?可以吗?
谢谢!
listConfigurations
方法接受一个字符串参数,它是一个过滤器。如果你只是想要一个未过滤的列表,那么你可以传递 null
,例如:
$_srv listConfigurations null
这是一个配置对象数组,您可能希望使用 each
命令对其进行迭代。
然而,对于 Gogo 脚本而言,这种事情很快就会变得过于复杂。例如,您不会在任何地方发布带有 ungetService
的服务引用。最好在 Java 中构建一个可重用的 Gogo 命令作为声明式服务组件。
使用以下 shell 命令可能更容易实现:
https://bitbucket.org/pjtr/net.luminis.cmc
其中有一个名为:
的命令
cm list
我想通过 gogo shell 在屏幕上显示 org.osgi.service.cm.ConfigurationAdmin.listConfigurations
方法返回的 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)]
此处正确的语法是什么?可以吗?
谢谢!
listConfigurations
方法接受一个字符串参数,它是一个过滤器。如果你只是想要一个未过滤的列表,那么你可以传递 null
,例如:
$_srv listConfigurations null
这是一个配置对象数组,您可能希望使用 each
命令对其进行迭代。
然而,对于 Gogo 脚本而言,这种事情很快就会变得过于复杂。例如,您不会在任何地方发布带有 ungetService
的服务引用。最好在 Java 中构建一个可重用的 Gogo 命令作为声明式服务组件。
使用以下 shell 命令可能更容易实现:
https://bitbucket.org/pjtr/net.luminis.cmc
其中有一个名为:
的命令cm list