2012-02-22 7 views
2

私はOSGiの新機能で、osgiコンソールをバンドルに実装しようとしています。OSGiコンソールをバンドルに実装するにはどうすればよいですか?

私のバンドルから他のバンドル/サービスを管理する必要があります。ですから、すでにインストールされているかどうかにかかわらず、 "ss"、 "install"、 "unistall"コマンドを使用する必要があります。これらのコマンドはすべて人間の介入なしに管理する必要があるため、私はこれを自分のアプリケーションに実装する必要があります。 このプログラムは、継続的な監視なしでuPCにインストールされます。

私は、バンドルにOSGiコンソールを実装する方法をGoogleで検索しましたが、私は、関連する何も見つからなかっ傾けます。

私は、OSGi 3.7.1を使用し、春分にdeplyしようとしています。

答えて

1

コマンドは、このリンクが便利になるかもしれない、トムが言ったことに加え

+0

ありがとうございました。私はできるだけ早くそれを試してみましょう! :) – Shide

1

を実装されている方法を確認するために、バンドルorg.eclipse.osgiにクラスorg.eclipse.osgi.framework.internal.core.FrameworkCommandProviderを見てみましょう:http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.equinox/framework/bundles/org.eclipse.osgi/console/src/org/eclipse/osgi/framework/internal/core/FrameworkCommandProvider.java?view=markup&root=RT_Projectを。

私はそれがこのクラスに、私はそれに見るために必要な最後の時間を見つけるために、私にはかなり時間がかかりましたことを覚えておいてください。それは最新のバージョンではないかもしれませんが(私はこれをチェックしませんでしたが)、あなたにジャンプを開始するのに十分なはずです。 CVSリポジトリパスbtwは、 "dev.eclipse.org"、モジュール "org.eclipse.equinox/framework/bundles/org.eclipse.osgi"の "/ cvsroot/rt"です。

Tomsの回答にコメントを追加して申し訳ありませんが、私はそうする権限がありません。

0

org.osgi.frameworkパッケージから、OSGiのフレームワークAPIを使用してください。これは、これらのコマンドを実装するためにコンソール自体が呼び出すAPIです。

1

org.eclipse.osgi.framework.internal.core.FrameworkCommandProviderクラスとorg.eclipse.core.runtime.internal.adaptor.EclipseCommandProviderクラスを確認すると、コマンドの実装が表示されます。すべてのコマンドは "(classobject = org.eclipse.osgi.framework.console.CommandProvider)"フィルタを使用してサービスによってアクセスできます。

関連する問題