ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド

4.9 deployment descriptorファイルへの記述

deployment descriptorファイルに、参照するオブジェクトの情報を記述します。
ここでは、オブジェクトの参照に関するタグについて説明します。

参照

deployment descriptorファイルの詳細については、以下を参照してください。

各オブジェクトの情報はdeployment descriptorの以下のタグに記述します。

deployment descriptorのタグ

指定値

ejb-ref

EJB Homeオブジェクト

ejb-local-ref

EJB Local Homeオブジェクト

service-ref

Webサービス

resource-ref

JDBCデータソース

JMSコネクションファクトリ

JavaMailメールセション

URL(Uniform Resource Locator)

connectorコネクションファクトリ

resource-env-ref

JMS Destination

message-destination-ref

JMS Destination

env-entry

環境エントリ

指定不要

UserTransaction

ORB

タグの説明

ejb-ref

タグ

説明

ejb-ref

EJBの参照に関する定義をします。複数回指定可能です。

  

description

利用者に伝えたい任意の情報を指定します。省略可能です。

ejb-ref-name

Enterprise Beanの参照名を、以下のPrefixを付加した名前で指定します(xxxxxは任意の文字列)。

  • ejb/xxxxx

ejb-ref-type

Enterprise Beanのアプリケーション種別を、次のいずれかで指定します。

  • Entity

  • Session

home

homeインタフェース名を指定します。homeインタフェース名には、限定名(パッケージ付インタフェース名)を指定します。

remote

remoteインタフェース名を指定します。remoteインタフェース名には、限定名(パッケージ付インタフェース名)を指定します。

ejb-link

Enterprise Bean名を指定します。省略可能です。

ejb-local-ref

タグ

説明

ejb-local-ref

localインタフェースのEJBの参照に関する定義をします。複数回指定可能です。

  

description

利用者に伝えたい任意の情報を指定します。省略可能です。

ejb-ref-name

Enterprise Beanの参照名を、以下のPrefixを付加した名前で指定します(xxxxxは任意の文字列)。

  • ejb/xxxxx

ejb-ref-type

Enterprise Beanのアプリケーション種別を、次のいずれかで指定します。

  • Entity

  • Session

local-home

local homeインタフェース名を指定します。local homeインタフェース名には、限定名(パッケージ付インタフェース名)を指定します。

local

localインタフェース名を指定します。localインタフェース名には、限定名(パッケージ付インタフェース名)を指定します。

ejb-link

Enterprise Bean名を指定します。省略可能です。

service-ref

タグ

説明

service-ref

Webサービス参照に関する定義をします。複数回指定可能です。
詳細は“18.6.4 service reference記述”を参照してください。

注) J2EE1.4以降のdeployment descriptorファイルで設定可能です。

resource-ref

タグ

説明

resource-ref

リソース参照に関する定義をします。複数回指定可能です。

  

description

利用者に伝えたい任意の情報を指定します。省略可能です。

res-ref-name

参照名を、リソースごとのPrefixを付加した名前で指定します(xxxxxは任意の文字列)。

  • JDBCの場合        :jdbc/xxxxx

  • JMSの場合        :jms/xxxxx

  • JavaMailの場合    :mail/xxxxx

  • URLの場合        :url/xxxxx

  • connectorの場合  :eis/xxxxx

res-type

lookupの際に受け取る型を限定名で指定します。限定名には、オブジェクトのクラス名またはインタフェース名を指定します。

  • JDBCの場合        :javax.sql.DataSource

  • JMSの場合        :javax.jms.TopicConnectionFactoryまたはjavax.jms.QueueConnectionFactory

  • JavaMailの場合    :javax.mail.Session

  • URLの場合        :java.net.URL

  • connectorの場合  :javax.resource.cci.ConnectionFactory

res-auth

リソース接続者を、次のいずれかで指定します。

  • Application  :アプリケーションで設定された接続情報を使用する

  • Container    :リソース定義で設定された接続情報を使用する

resource-env-ref

タグ

説明

resource-env-ref

リソース環境参照に関する定義をします。複数回指定可能です。

  

description

利用者に伝えたい任意の情報を指定します。省略可能です。

resource-env-ref-name

参照名を、リソースごとのPrefixを付加した名前で指定します(xxxxは任意の文字列)。

  • JMSの場合        :jms/xxxxx

resource-env-ref-type

lookupの際に受け取る型を限定名で指定します。限定名には、オブジェクトのクラス名またはインタフェース名を指定します。

  • JMSの場合        :javax.jms.Topicまたはjavax.jms.Queue

message-destination-ref

タグ

説明

message-destination-ref

Destination参照に関する定義をします。複数回指定可能です。

  

description

利用者に伝えたい任意の情報を指定します。省略可能です。

message-destination-ref-name

Destination参照名を、以下のPrefixを付加した名前で指定します(xxxxxは任意の文字列)。

  • jms/xxxxx

message-destination-type

lookupの際に受け取る型を限定名で指定します。限定名には、オブジェクトのクラス名またはインタフェース名を指定します。

  • javax.jms.Topic

  • javax.jms.Queue

message-destination-usage

利用者にアプリケーション内でのリソースの使用方法を以下のいずれかで指定します。

  • メッセージを受信する場合:Consumes

  • メッセージを送信する場合:Produces

  • 送信も受信もする場合:ConsumesProduces

message-destination-link

message-destination のmessage-destination-name に指定したJMS Destination名を指定します。省略可能です。

注) J2EE1.4以降のdeployment descriptorファイルで設定可能です。J2EE1.3以前の場合、JMS Destinationの設定はresource-env-refに指定してください。

message-destination

タグ

説明

message-destination

Destination参照の対応関係を定義します。
message-destination-linkを指定する場合、本定義は必須です。
複数回指定可能です。

  

description

利用者に伝えたい任意の情報を指定します。省略可能です。

message-destination-name

JMS Destination名を指定します。

注) J2EE1.4以降のdeployment descriptorファイルで設定可能です。J2EE1.3以前の場合、JMS Destinationの設定はresource-env-refに指定してください。

env-entry

タグ

説明

env-entry

環境エントリの参照に関する定義をします。複数回指定可能です。

  

description

利用者に伝えたい任意の情報を指定します。省略可能です。

env-entry-name

環境エントリの参照名を指定します。

env-entry-type

環境エントリ値の型を、次のいずれかで指定します。

  • java.lang.Boolean

  • java.lang.Byte

  • java.lang.String

  • java.lang.Short

  • java.lang.Integer

  • java.lang.Long

  • java.lang.Float

  • java.lang.Double

  • java.lang.Character

env-entry-value

lookupで取得したい環境エントリ値を指定します。省略可能です。
Webアプリケーションでenv-entry-valueタグを省略した場合は下記となります。

  • env-entry-type値がjava.lang.Booleanの場合:Boolean.FALSE

  • env-entry-type値が以下の場合:値0の各オブジェクト

    • java.lang.Byte

    • java.lang.Character

    • java.lang.Short

    • java.lang.Integer

    • java.lang.Long

    • java.lang.Float

    • java.lang.Double

  • env-entry-type値がjava.lang.Stringの場合:
    lookup時にjavax.naming.NamingExceptionまたはそのサブクラスが投げられます。

Webアプリケーション以外の場合は、lookup時にjavax.naming.NamingExceptionまたはそのサブクラスが投げられます。

注意

名前空間プレフィックスつきのタグは指定しないでください。
指定した場合、配備に失敗したり、名前変換機能が使用できなくなることがあります。

  例:<pfx:ejb-ref>

message-destination-refとmessage-destinationについて

記述例

EJB Homeオブジュクト“ejb/EJB1”の設定例
  ・・・
  <ejb-ref>
    <description>EJB Information</description>
    <ejb-ref-name>ejb/EJB1</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>sample.ejbHome</home>
    <remote>sample.ejbRemote</remote>
    <ejb-link>SessionBean</ejb-link>
  </ejb-ref>
  ・・・
EJB Local Homeオブジュクト“ejb/SampleBMP”の設定例
  ・・・
  <ejb-local-ref>
      <ejb-ref-name>ejb/SampleBMP</ejb-ref-name>
      <ejb-ref-type>Entity</ejb-ref-type>
      <local-home>SampleBMPHome</local-home>
      <local>SampleBMPLocal</local>
      <ejb-link>SampleBMP</ejb-link>
  </ejb-local-ref>
  ・・・
JDBCデータソース“jdbc/DB1”の設定例
  ・・・
  <resource-ref>
    <description>JDBC Information</description>
    <res-ref-name>jdbc/DB1</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Application</res-auth>
  </resource-ref>
  ・・・
JMSコネクションファクトリ“jms/JMS1”およびJMS Destination“jms/JMS2”の設定例

J2EE1.4以降の場合

  ・・・
  <resource-ref>
    <description>JMS Information</description>
    <res-ref-name>jms/JMS1</res-ref-name>
    <res-type>javax.jms.TopicConnectionFactory</res-type>
    <res-auth>Application</res-auth>
  </resource-ref>
  <message-destination-ref>
    <description>JMS Information2</description>
    <message-destination-ref-name>jms/JMS2</message-destination-ref-name>
    <message-destination-type>javax.jms.Topic</message-destination-type>
    <message-destination-usage>Consumes</message-destination-usage>
    <message-destination-link>Topic001</message-destination-link>
  </message-destination-ref>
  ・・・
  <message-destination>
    <description>JMS Destination</description>
    <message-destination-name>Topic001</message-destination-name>
  </message-destination>
  ・・・

J2EE1.3以前の場合

  ・・・
  <resource-ref>
    <description>JMS Information</description>
    <res-ref-name>jms/JMS1</res-ref-name>
    <res-type>javax.jms.TopicConnectionFactory</res-type>
    <res-auth>Application</res-auth>
  </resource-ref>
  <resource-env-ref>
    <description>JMS Information2</description>
    <resource-env-ref-name>jms/JMS2</resource-env-ref-name>
    <resource-env-ref-type>javax.jms.Topic</resource-env-ref-type>
  </resource-env-ref>
  ・・・

ポイント

この設定例はJ2EEアプリケーションクライアントのdeployment descriptorです。
Webアプリケーション、およびEJBアプリケーションの場合は<resource-ref>タグと<resource-env-ref>タグの定義順を逆にしてください。

JavaMailメールセション“mail/Mail”の設定例
  ・・・
  <resource-ref>
    <res-ref-name>mail/Mail</res-ref-name>
    <res-type>javax.mail.Session</res-type>
    <res-auth>Application</res-auth>
  </resource-ref>
  ・・・
URLurl/SVURL”の設定例
  ・・・
  <resource-ref>
    <res-ref-name>url/SVURL</res-ref-name>
    <res-type>java.net.URL</res-type>
    <res-auth>Application</res-auth>
  </resource-ref>
  ・・・
connectorコネクションファクトリ“eis/RA01”の設定例
  ・・・
  <resource-ref>
    <res-ref-name>eis/RA01</res-ref-name>
    <res-type>javax.resource.cci.ConnectionFactory</res-type>
    <res-auth>Application</res-auth>
  </resource-ref>
  ・・・
環境エントリSValueの設定例
  ・・・
  <env-entry>
    <description>EnvProp</description>
    <env-entry-name>SValue</env-entry-name>
    <env-entry-type>java.lang.Short</env-entry-type>
    <env-entry-value>1024</env-entry-value>
  </env-entry>
  ・・・

注意

deployment descriptorファイルに参照するオブジェクトの情報を記述しない場合、以下の注意事項があります。

  • コンテナが同じ名前のオブジェクトを自動的に検索します。このとき異なるリソースに同名のオブジェクトが存在すると誤動作する場合があるため注意してください。

  • 名前変換機能は使用できません。

  • サブコンテキストの取得を行うことができません。

  • 以下の条件を満たす場合は、Local Homeインタフェースが返却されます。

    • EJBアプリケーションを参照している

    • 参照するEJBアプリケーションがHomeインタフェース/Local Homeインタフェースを両方実装している

    Local Homeインタフェース/Homeインタフェースの両方を経由したlookup処理を行う場合は、EJBアプリケーション開発時、および運用時に以下の作業を行って下さい。

    EJBアプリケーション開発時

    1. deployment descriptorの編集
      [参照EJBタグ]または[参照LocalEJBタグ]の“ejb-ref-name”に定義された“EnterpriseBeanの参照名”を重複しないよう編集して下さい。

    2. EJBアプリケーションの開発
      lookup時の引数に指定するEJBアプリケーション名がLocal Homeインタフェースを経由する場合と、Homeインタフェースを経由する場合とで重複しないよう記述して下さい。1で設定した参照EJBまたは参照LocalEJBに定義されたEnterpriseBeanの参照名に対応するEJBアプリケーション名を記述して下さい。

    EJBアプリケーション運用時

    • 名前変換ファイルの編集
      名前変換ファイルを使用し、1で変更したEnterpriseBeanの参照名と、EJBアプリケーション内にてlookup時の引数で指定したEJBアプリケーション名との対応付けを行って下さい。