ブループリント XML ファイルの作成

ブループリント構成ファイルには、バンドルのコンポーネント・アセンブリーと構成情報が含まれます。ファイルには、コンポーネントの OSGi サービス・レジストリーへの登録方法、またはコンポーネントによる OSGi サービス・レジストリーからのサービスの検索方法が説明されています。この情報は、バンドルが開始されたときに必須コンポーネントをインスタンス化し構成するために、ランタイムで使用されます。

手順

  1. バンドル・プロジェクトを右クリックして、「新規」 > 「ブループリント・ファイル」を選択します。「新規ブループリント・ファイル」ウィザードが開きます。
  2. ファイル名」フィールドにブループリント構成ファイルの名前を入力して、「次へ」をクリックします。
  3. ウィザードの「追加ブループリント名前空間の追加または削除」ページ で、ブループリント・ファイルに追加する名前空間を選択します。
    名前空間は、ブループリント拡張、JPA、リソース参照、およびトランザクションに追加できます。
    ブループリント名前空間についてさらに学習したい方に:
    表 1. ブループリント名前空間の説明
    スキーマ URL 説明
    ブループリント拡張 http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0

    IBM® ブループリント拡張

    フィールド注入などの OSGi ブループリント・プログラミング・モデルの拡張です。

    ブループリント・セキュリティー http://www.ibm.com/appserver/schemas/blueprint/security/v1.0.0

    IBM ブループリント・セキュリティー

    Bean セキュリティーを構成して、指定されたロールを割り当てられたユーザーのみが Bean のメソッドにアクセスできるようにします。

    詳細情報: Blueprint セキュリティーと OSGi アプリケーション

    JPA http://aries.apache.org/xmlns/jpa/v1.0.0

    JPA ブループリント・サポート

    ブループリントへの Java™ Persistence API (JPA) 統合を提供します。パーシスタンス・ユニットおよびパーシスタンス・コンテキストは、ブループリント管理 Bean に注入できます。

    リソース参照 http://www.ibm.com/appserver/schemas/8.0/blueprint/resourcereference

    ブループリント・リソース参照サポート

    WebSphere® Application Server JNDI 内で宣言された、ブループリント管理 Bean に注入されるデータ・ソースや接続ファクトリーなどのオブジェクト用に提供します。

    トランザクション http://aries.apache.org/xmlns/transactions/v1.0.0

    ブループリント・トランザクション・サポート

    開発者にブループリント管理 Bean に対するトランザクション要求の宣言を許可します。

    注: このリストにない他の名前空間を追加するには、「ソース」ビューに切り替えて、名前空間を入力します。
  4. 「終了」をクリックします。ブループリント構成ファイルがエディターで開きます。
  5. 「追加」をクリックして、コンポーネント・アセンブリーおよび構成情報をブループリント構成ファイルに追加します。
    Bean
    bean 要素は、インスタンス化されるブループリント・コンポーネントを定義します。 「OK」をクリックして、引数およびプロパティーを Bean に追加します。
    Bean 属性についてさらに学習したい方に:
    ID
    id 属性は、コンポーネントを識別します。これは、コンポーネントがブループリントの任意の場所から参照される場合 (例えば、サービス定義から参照される場合) に必須です。
    クラス
    class 属性は、コンポーネントのどの実装クラスがインスタンス化されるかを指定します。
    活動化
    このオプション属性は、マネージャーの活動化モードを定義します。 2 つの活動化モードがサポートされます。
    eager
    マネージャーは、ブループリント・コンテナーの初期化時に活動化されます。
    lazy
    マネージャーは、要求時に活動化されます。
    デフォルトでは、アクティベーションは「eager」に設定されています。
    スコープ
    Bean マネージャーは、スコープ設定に応じて、単一または複数のオブジェクト・インスタンスを 作成できます。ブループリント・コンテナーの仕様では以下の 2 つの主要なスコープを定義します。
    singleton
    Bean マネージャーは、Bean の単一インスタンスを作成し、 このマネージャーがオブジェクトの提供を要求されるたびにそのインスタンスを 返します。
    prototype
    Bean マネージャーは、このマネージャーがオブジェクトの提供を 要求されるたびに、Bean の新規インスタンスを作成します。
    デフォルトでは、最上位 Bean マネージャーには singleton スコープが使用されます。scope 属性は、インライン化された Bean マネージャーでは設定できないため、インライン化されたマネージャーは常に prototype スコープを有していると見なされます。
    従属先
    マネージャー ID のリストを指定します。リストされたマネージャーが最初に活動化されてから、このマネージャーが活動化されます。マネージャーは、明示的または暗黙的な依存関係を持つことがあります。 dependsOn 属性は、明示的な依存関係を定義します。これらの暗黙的な依存関係は、マネージャー定義内で他のマネージャーへの参照を指定することによって定義されます。
    ファクトリー参照
    ファクトリーとして動作する Bean または参照マネージャーの ID を指定します。 指定されたオブジェクトには、ファクトリー・メソッド属性によって指定されたファクトリー・メソッドが必要です。
    破棄メソッド
    ブループリント・コンテナーがオブジェクト・インスタンスを破棄するときに呼び出されるメソッドを指定します。
    ファクトリー・メソッド
    静的ファクトリー・メソッドの名前を指定します。
    初期化メソッド
    初期化メソッドは、コンポーネントの作成時に呼び出されます。 バンドルの初期化時にメソッドを呼び出さない場合は、この属性を削除します。
    参照
    reference 要素は、サービス・レジストリーにあるサービスを指定します。 「OK」をクリックして、項目を参照に追加します。
    参照属性についてさらに学習したい方に:
    ID
    id 属性は、コンポーネントを識別します。これは、コンポーネントがブループリントの任意の場所から参照される場合 (例えば、サービス定義から参照される場合) に必須です。
    インターフェース
    interface 属性は、コンポーネント・クラスが実装するインターフェースを参照します。
    活動化
    このオプション属性は、マネージャーの活動化モードを定義します。 2 つの活動化モードがサポートされます。
    eager
    マネージャーは、ブループリント・コンテナーの初期化時に活動化されます。
    lazy
    マネージャーは、要求時に活動化されます。
    デフォルトでは、アクティベーションは「eager」に設定されています。
    可用性
    ブループリント・コンテナーの初期化を続行する前に、選択基準に一致する少なくとも 1 つのサービスが存在する、サービス参照マネージャーによる要求をコントロールします。可用性属性には以下の 2 つの値があります。
    optional
    基準に一致するサービスが存在しなくてもかまいません。
    mandatory
    基準に一致する少なくとも 1 つのサービスが存在する必要があります。
    デフォルトで、可用性は「mandatory」に設定されています。
    フィルター
    サービス選択のフィルター式を指定します。
    タイムアウト
    バッキング・サービスが使用可能になるまでプロキシーが待機する時間をミリ秒で指定します。
    コンポーネント名
    フィルターによって検索されたコンポーネントを指定します。
    従属先
    マネージャー ID のリストを指定します。リストされたマネージャーが最初に活動化されてから、このマネージャーが活動化されます。マネージャーは、明示的または暗黙的な依存関係を持つことがあります。 dependsOn 属性は、明示的な依存関係を定義します。これらの暗黙的な依存関係は、マネージャー定義内で他のマネージャーへの参照を指定することによって定義されます。
    参照リスト
    reference-list 要素を使用すると、参照要素で複数のマッチング・サービスを検索できます。「OK」をクリックして、項目を参照リストに追加します。
    参照リスト属性についてさらに学習したい方に:
    ID
    id 属性は、コンポーネントを識別します。これは、コンポーネントがブループリントの任意の場所から参照される場合 (例えば、サービス定義から参照される場合) に必須です。
    インターフェース
    interface 属性は、コンポーネント・クラスが実装するインターフェースを参照します。
    活動化
    このオプション属性は、マネージャーの活動化モードを定義します。 2 つの活動化モードがサポートされます。
    eager
    マネージャーは、ブループリント・コンテナーの初期化時に活動化されます。
    lazy
    マネージャーは、要求時に活動化されます。
    デフォルトでは、アクティベーションは「eager」に設定されています。
    可用性
    ブループリント・コンテナーの初期化を続行する前に、選択基準に一致する少なくとも 1 つのサービスが存在する、サービス参照マネージャーによる要求をコントロールします。可用性属性には以下の 2 つの値があります。
    optional
    基準に一致するサービスが存在しなくてもかまいません。
    mandatory
    基準に一致する少なくとも 1 つのサービスが存在する必要があります。
    デフォルトで、可用性は「mandatory」に設定されています。
    フィルター
    サービス選択のフィルター式を指定します。
    メンバー・タイプ
    参照リスト・マネージャーで提供されるメンバーのタイプを指定します。 メンバー・タイプ属性では、以下のものがサポートされます。
    service-object
    サービス・プロキシー・オブジェクトのリストを注入します。
    service-reference
    サービス参照オブジェクトのリストを注入します。
    デフォルトで、メンバー・タイプは「service-object」に設定されています。
    コンポーネント名
    フィルターによって検索されたコンポーネントを指定します。
    従属先
    マネージャー ID のリストを指定します。リストされたマネージャーが最初に活動化されてから、このマネージャーが活動化されます。マネージャーは、明示的または暗黙的な依存関係を持つことがあります。 dependsOn 属性は、明示的な依存関係を定義します。これらの暗黙的な依存関係は、マネージャー定義内で他のマネージャーへの参照を指定することによって定義されます。
    サービス
    service エレメントは、OSGi サービス・レジストリーへのコンポーネントのエクスポートを定義します。「OK」をクリックして、項目をサービスに追加します。
    サービス属性についてさらに学習したい方に:
    ID
    id 属性は、コンポーネントを識別します。これは、コンポーネントがブループリントの任意の場所から参照される場合 (例えば、サービス定義から参照される場合) に必須です。
    インターフェース
    interface 属性は、コンポーネント・クラスが実装するインターフェースを参照します。
    活動化
    このオプション属性は、マネージャーの活動化モードを定義します。 2 つの活動化モードがサポートされます。
    eager
    マネージャーは、ブループリント・コンテナーの初期化時に活動化されます。
    lazy
    マネージャーは、要求時に活動化されます。
    デフォルトでは、アクティベーションは「eager」に設定されています。
    自動エクスポート
    自動エクスポートの設定は、自動エクスポート属性によって指定され、以下の 4 つのオプションをサポートします。
    disabled
    自動エクスポート属性が指定されていない場合のデフォルト値。 interface 属性または interfaces 子要素を使用して、インターフェースのリストが指定されている必要があります。
    interfaces
    サービス・クラスとそのスーパー・クラスによって実装されたすべてのパブリック・インターフェースを使用して、サービスを登録します。
    class-hierarchy
    サービス・クラスとそのパブリック・スーパー・クラスを使用して、サービスを登録します。
    all-classes
    interfaces と class-hierarchy オプションを結合します。
    ランキング
    ランキング属性を使用して、特定のランキングとともにサービスを公開することができます。
    参照
    ref 属性は、エクスポートされたコンポーネントのコンポーネント ID を参照します。 この ID は、コンポーネント要素内で定義されます。
    従属先
    マネージャー ID のリストを指定します。リストされたマネージャーが最初に活動化されてから、このマネージャーが活動化されます。マネージャーは、明示的または暗黙的な依存関係を持つことがあります。 dependsOn 属性は、明示的な依存関係を定義します。これらの暗黙的な依存関係は、マネージャー定義内で他のマネージャーへの参照を指定することによって定義されます。
    タイプ・コンバーター
    type-converters 要素は、データ・タイプ間で値を変換します。 「OK」をクリックして、項目をタイプ・コンバーターに追加します。

    ブループリント構成ファイルについて詳しくは、ヘルプ・トピック『OSGi ブループリント XML ファイル』および『OSGi ブループリント・コンテナー仕様』を参照してください。

  6. 「WebSphere ブループリント・バインディング記述子を開く」をクリックして、バンドルの認証別名バインディングへのリソース参照を含む OSGi ブループリント構成ファイルを作成します。

    アセットとしてデプロイされるときに OSGi アプリケーションに OSGi ブループリント・バインディング構成ファイルが含まれる場合は、バインディング構成ファイルが、リソース参照のバインディング時に使用されるデフォルトの認証別名の値を提供します。

    ブループリント・バインディング・ファイルについて詳しくは、「ブループリント・バインディング XML ファイルの作成」を参照してください。

  7. ブループリント XML ファイルに名前空間を追加するには、「追加ブループリント名前空間の追加と削除」をクリックします。
    1. 「ブループリント名前空間」ダイアログで、ブループリント・ファイルに追加する名前空間を選択します。
    2. 「終了」をクリックします。

    これらの要素は、ブループリント XML ファイルに追加するブループリント名前空間に基づいて使用可能にされます。

    コンテキスト
    bpjpa:context 要素は、ブループリント・トランザクション内で使用される JPA Bean の Apache Aries ブループリント仕様を拡張します。 この要素は、JPA 名前空間の追加時に追加されます。 「追加」をクリックして、属性を要素に追加します。
    プロパティーのプレースホルダー
    bpext:property-placeholder 要素は、Apache Aries ブループリント仕様に拡張を追加します。 この要素は、ブループリント拡張名前空間の追加時に追加されます。 「追加」をクリックして、属性を要素に追加します。
    リソース参照
    bpresref:resource-reference 要素は、データ・ソースなどのリソース参照を Bean またはサービスに注入します。 この要素は、リソース参照名前空間の追加時に追加されます。 「追加」をクリックして、属性を要素に追加します。
    トランザクション
    tx:transaction 要素は、ブループリント・ファイルにトランザクション・プロパティーを追加することによって、Apache Aries ブループリント仕様を拡張します。 この要素は、トランザクション名前空間の追加時に追加されます。 「追加」をクリックして、属性を要素に追加します。
  8. ファイルを保存します。

    OSGi ブループリント XML ファイルについて詳しくは、以下のサブトピックを参照してください。

トピックのタイプを示すアイコン タスクのトピック
インフォメーション・センターのご利用条件 | フィードバック

タイム・スタンプ・アイコン 最終更新: May 29, 2014 10:20

ファイル名: tcrtblueprintxml.html