 |
|
前のページ 1 2 3 次のページ
|
 |
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は主にソフトウェアの状態をみえるようにすることでアプリケーションの監視を行うことができますが、機能の追加や削除は目的とされていませんでした。
|
前のページ 1 2 3 次のページ
|

|
|

|
著者プロフィール
株式会社チェンジビジョン 近藤 寛喜
モデリングツールJUDEを開発しているチェンジビジョンにて、プロジェクトの現在を見える化し、状況を共有することで現場で起きている問題を解決するためのツールTRICHORDを開発している。以前からオープンソースのプロジェクトに興味を持ち、特にEclipseプラットフォームに心酔している。最近はゲームの操作感を刷新したWiiリモコンを使って何か面白いUIが作れないか模索している。
|
|
|
|