2016-03-15 25 views
0

如果我想在我的插件(java)中執行karaf shell命令,該怎麼做?如何在Java中調用karaf控制檯命令

例如:opendaylight用戶@根> snmp4sdn:printdb

「org.apache.felix.service.command.CommandProcessor」 能處理呢?

+0

哪個版本的Karaf? –

+0

karaf版本3.0.3 – kevin5476

回答

1

在卡拉夫3,你必須使用菲利克斯Gogo服務,即​​。

從​​開始,您可以創建一個CommandSession,然後在此會話上調用execute。在這個

有兩點需要注意:

  • 在Karaf4,該服務已經改變 - 它不依賴於勾勾了
  • 所有shell命令使用底層OSGi服務。使用此服務總是更好,而不是創建命令並「解析輸出流」。例如,你可以安裝一個軟件包與BundleContext.installBundle或通過FeaturesService

你的命令安裝的功能,例如,使用org.opendaylight.snmp4sdn.ICore服務。參見:PrintDB