Bundleの情報表示

Bundleの情報表示

それでは、先ほどのコンソールに「bundle 1」と入力してみてください。するとidが1であるBundleの情報が詳細に表示されます。


osgi> bundle 1
initial@reference:file:plugins/org.eclipse.equinox.common_3.3.0.v20070426.jar/ [1]
  Id=1, Status=ACTIVE      Data Root=E:\eclipse3.3\configuration\org.eclipse.osgi\bundles\1\data
  Registered Services
    {org.eclipse.osgi.service.urlconversion.URLConverter}={protocol=platform, service.id=21}
    {org.eclipse.core.runtime.IAdapterManager}={service.id=22}
    {org.osgi.service.url.URLStreamHandlerService}={url.handler.protocol=[platform], service.id=23}
  Services in use:
(以降、その他Bundleの情報の一覧)

   ここで表示される情報は、このBundleで登録されているOSGiサービスやこのBundle以外で必要としているパッケージ、このBundleから外部へ公開しているパッケージなどです。

コマンドが一覧の表示

OSGiコンソールで使用できるコマンド一覧は「help」と入力すると表示されます。



osgi> help

Eclipse 3.2まではOSGiコンソールとして使用するコマンドばかりでした。Eclipse 3.3ではEclipse RCPやPlugin開発の際に用いる便利なコマンドが追加されています。

例えばEclipse 3.3からは、登録されている複数のOSGiアプリケーションの起動・停止をできるようになりました。また、どのようなアプリケーションが登録されている のかをリスト表示したり、それらの呼び出しをOSGiコンソール上から行うことができます。コンソール上でOSGiアプリケーションを作成するときに便利 なコマンドについては、随時解説していきます。

ここで少し手を休めて、前回解説したJSR 291の元となったOSGiについて、細かく解説していきましょう。

OSGiとは

1999年からOSGi Allianceにより仕様の策定が進められ、現在はOSGi仕様としてOSGi Service Platform Version 4.1がリリースされています。元々組み込みJava向けに作られており、Java ME向けにはJSR 232:Mobile Operational Managementという形で2006年10月に策定されました。

携帯電話ベンダーの最大手であるNokiaは、JavaOne2006にて「S60 Mobile Service Platform for Java Technology」というOSGi仕様に基づいたプラットフォームを発表しています。そのことからも組み込み分野では、かなりOSGiが浸透していることがうかがえます。

OSGiは開発者にコンポーネント化やサービス指向を進めるための環境の提供や、Java/VMには欠けていたコンポーネントのライフサイクルを適切に管理できるフレームワークを作成することを目的に作られた仕様です。

ネットワーク上からコンポーネントの追加・停止をJVMを止めることなく行うことを実現しています。策定が進むうちにコンポーネント化やサービスの追加・削除を容易に実現したいというモジュラリティを意識するプロジェクトにとって理想的な仕様になっています。

類似技術としてJava 5で導入されたJMXを思い浮かべる方も多いと思います。JMXは主にソフトウェアの状態をみえるようにすることでアプリケーションの監視を行うことができますが、機能の追加や削除は目的とされていませんでした。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30