0

如果我想在我的插件(java)中执行一个 karaf shell 命令,该怎么做?

例如:opendaylight-user@root> snmp4sdn:printdb

“org.apache.felix.service.command.CommandProcessor”可以处理吗?

4

1 回答 1

1

在 Karaf 3 中,您必须使用 Felix Gogo 服务,即CommandProcessor.

从 a CommandProcessor,您可以创建 aCommandSession然后调用execute此会话。

对此有两点说明:

  • 在 Karaf4 中,服务发生了变化——不再依赖 Gogo
  • 所有的 shell 命令都使用底层的 osgi 服务。使用此服务总是比创建命令和“解析输出流”更好。例如,您可以安装 BundleBundleContext.installBundle或通过FeaturesService

例如,您的命令使用该org.opendaylight.snmp4sdn.ICore服务。请参阅:打印数据库

于 2016-03-16T07:12:49.480 回答