如何在 Java 中调用 karaf 控制台命令
How to call karaf console command in Java
如果我想在我的插件 (java) 中执行 karaf shell 命令,该怎么做?
ex: opendaylight-user@root> snmp4sdn:printdb
"org.apache.felix.service.command.CommandProcessor"可以应付吗?
在 Karaf 3 中,您必须使用 Felix Gogo 服务,即 CommandProcessor
。
从 CommandProcessor
,您可以创建一个 CommandSession
,然后在此会话中调用 execute
。
两个注意事项:
- 在 Karaf4 中,服务发生了变化——它不再依赖于 Gogo
- 所有 shell 命令都使用底层 osgi 服务。使用此服务总是比创建命令和 "parsing the outputstream" 更好。例如,您可以使用
BundleContext.installBundle
安装 Bundle 或通过 FeaturesService
安装功能
你的命令,例如,使用org.opendaylight.snmp4sdn.ICore
服务。参见:PrintDB
如果我想在我的插件 (java) 中执行 karaf shell 命令,该怎么做?
ex: opendaylight-user@root> snmp4sdn:printdb
"org.apache.felix.service.command.CommandProcessor"可以应付吗?
在 Karaf 3 中,您必须使用 Felix Gogo 服务,即 CommandProcessor
。
从 CommandProcessor
,您可以创建一个 CommandSession
,然后在此会话中调用 execute
。
两个注意事项:
- 在 Karaf4 中,服务发生了变化——它不再依赖于 Gogo
- 所有 shell 命令都使用底层 osgi 服务。使用此服务总是比创建命令和 "parsing the outputstream" 更好。例如,您可以使用
BundleContext.installBundle
安装 Bundle 或通过FeaturesService
安装功能
你的命令,例如,使用org.opendaylight.snmp4sdn.ICore
服务。参见:PrintDB