3

開発環境で実行していることが検出された場合、Karafの「dev:watch」コマンドを自動的に呼び出したい。etc / shell.init.scriptに直接追加することを検討しましdev:watch *たが、無条件に実行したくありません。そのため、Javaプロパティ(のような単純なもの-Ddevelopment=true)をチェックし、org.apache.karaf.shell.dev.Watch自体を呼び出す単純なサービスを作成することを検討しています。OSGiにFunctionインスタンスを要求できると思います(&(osgi.command.function=watch)(osgi.command.scope=dev))が、それを呼び出すためだけにモックCommandSessionを作成する必要があります。それは複雑すぎるようです。より良いアプローチはありますか?

4

4 に答える 4

0

init スクリプトを使用して条件をテストし、その条件が満たされた場合にコマンドを実行することもできるため、自分でコマンド セッションを作成する必要はありません。

于 2014-06-12T03:33:58.957 に答える
0

質問から時間が経ちましたが、お答えします。

CommandSession クラスを使用する必要がありますが、簡単ではありません。このブログ投稿が参考になります。これは Pax Exam に関連していますが、あらゆる状況に適用できます。リモート SSH クライアントの使用や、さらに優れたリモート JXM 管理コンソールの使用など、より多くの代替手段があります (参照)。

于 2014-05-28T11:01:18.663 に答える