には、Equinoxを実行するOSGiアプリケーションがあります。私はアプリケーションによって提供されるサービスを見たいと思います。これどうやってするの?OSGiアプリケーションで登録済みのサービスを表示する方法はありますか?
答えて
OSGiシェルを使用するか、アプリケーションからプログラムで対話的に使用するかどうかによって異なります。
対話的
あなたはEquinox consoleを使用することができます。 「サービス」を参照してください。デプロイしたサービスのみを表示するには、LDAPフィルタを使用する必要があります。ここでは例です:
(objectClass=my.package.name.*)
はまた、あなたがちょうど(あなたがそれを知っていると仮定すると、それを見つけるのは簡単です)バンドルIDによって制約することができますように簡単かもしれない@Neilバートレットの回答を参照してください。
プログラムにより
ServiceTrackerのアプローチを使用してください。 Neil also wrote all about thisので、あまりにも彼にあなたupvotesを与えることを確認してください:)
ゴーゴーシェル型から:
inspect cap service
すべてのバンドルで登録されているすべてのサービスを表示すること。あなたが特定のバンドルのためのサービスを表示したい場合は次のように入力します。あなたが断然
に興味がある、と私ははるかに意味、最高の<id>
は、バンドルの数値のバンドルIDです
inspect cap service <id>
をway をご覧ください。Apache Felix Webconsoleをサービスとしています。XRayをインストールしてください。このバンドルについて私のfirstとsecond blogを読んでみてください。
あなただけ既に登録されているが、開始されていない特定のサービスを開始し、それを動的に開始したいと思い探している場合は、使用してバンドルを得ることができる。そして、
Bundle bundle = Platform.getBundle("com.example.com.class");
//バンドルを開始
bundle.start();
//によると、サービス参照
ServiceReference<IExampleService> serviceReference = b.getBundleContext().getServiceReference(IExampleService.class);
をチェック[API docs] [1] getContext().getAllServiceReferences(clazz, filter)
メソッドを呼び出すと、指定されたクラスの下に登録され、指定されたフィルタ式に一致するすべてのサービスのリストを取得できます。両方のパラメータにnull
を渡すと、すべてのサービスが取得されます。
- 1. kaaにはアプリケーションの登録済みエンドポイント/デバイスをすべて一覧表示するAPIがありますか?
- 2. OSGiサービスの登録を解除する方法
- 3. 'future'は登録済みのタグライブラリではありません。
- 4. アカウントは登録済みネームスペースではありません
- 5. 登録済みのGCMサービスを管理する
- 6. OSGi拡張バンドル内のサービスの登録
- 7. Java:システムの登録済みアプリケーションをURLとして起動する方法
- 8. OSGi HttpServiceに登録されているサーブレットからOSGiサービス参照を取得する方法は?
- 9. 登録済みのMicrosoftアプリケーション登録ポータルアプリケーションを所有しているのは誰ですか?
- 10. エラー:invalid_clientに登録済みの起源がありません
- 11. Azure AD B2Cテナントポリシーを登録済みのアプリケーションに接続する
- 12. 登録済みのサインスフィンクス
- 13. 'admin'はDjango 1.4の登録済みネームスペースではありません
- 14. Django 1.10 TemplateSyntaxError 'future'は登録済みのタグライブラリではありません
- 15. CORS。登録済みURL。 S3
- 16. JSのアラートイベントに登録する方法はありますか?
- 17. macOSアプリケーションでアプリケーションからサービスを登録するには?
- 18. IdentityServerでダイナミッククライアント登録を行う方法はありますか?
- 19. SMSSの登録済みサーバーのSQLサービスの監視を停止する
- 20. 停止Autofacモジュールの登録、登録済みのコンポーネント
- 21. 図QObjectを登録済みのQMLタイプ
- 22. MonoRailのコントローラでヘルパーを登録する別の方法はありますか?
- 23. PowerShellで登録済みの外部assebly(dll)をロードします。
- 24. OSGiの標準機能を使用してSCRにサービスをプログラムで登録する方法はありますか?
- 25. SAPUI5のODataサービスからi18nを登録する方法は?
- 26. 登録済みリソースのDropwizard java.lang.NoSuchMethodException
- 27. Safariからユニバーサルリンクの登録を確認する方法はありますか?
- 28. ダイナミックCRMを登録済みのActive Directoryアプリケーションに追加できません
- 29. 特定の信号用のシグナルハンドラの登録は、別の登録済み信号を上書きしますか?
- 30. GUIメッセージでWindowsサービス例外を表示する方法はありますか?
eclipse osgiサービスが実行されているようです。私が導入した私のosgiアプリケーションからのサービスを見たいと思います。これを行う方法はありますか? – user840930
もう一度、フィルタを使用してそれらをぼかす必要があります。また、いくつかのコンソール(私はEquinoxコンソールについてはわかりません)では、ソースバンドルでフィルタリングすることができます... Neilの2番目のコードサンプルがこの例です。 –