ページの先頭行へ戻る
Interstage Application Server Java EE運用ガイド(Java EE 6編)
Interstage

4.2.1 Interstage deployment descriptor

本製品は、各Java EE規約標準のdeployment descriptorファイルに加えて、本製品固有の定義ファイルを使用できます。この定義ファイルをInterstage deployment descriptorファイルと呼びます。Interstage deployment descriptorファイルの一覧を以下に示します。

ファイル名

説明

glassfish-web.xml

Webアプリケーション(WARファイル)の定義を指定できます。

glassfish-ejb-jar.xml

EJBアプリケーション(EJB JARファイル)の定義を指定できます。

sun-acc.xml

アプリケーションクライアントコンテナの定義を指定できます。


各定義ファイルの定義内容について説明します。

4.2.1.1 Interstage Web application deployment descriptor (glassfish-web.xml)

記述形式

  <?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE glassfish-web-app PUBLIC
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN"
    "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
  <glassfish-web-app>
    <security-role-mapping>
      <role-name>...</role-name>
      <principal-name>...</principal-name>  または
      <group-name>...</group-name>
    </security-role-mapping>
    <servlet>
      <servlet-name>...</servlet-name>
      <principal-name>...</principal-name>
    </servlet>
    <session-config>
      <session-properties>
        <property name="..." value="..."> (with attributes)
          <description>...</description>
        </property>
      </session-properties>
      <cookie-properties>
        <property name="..." value="..."> (with attributes)
          <description>...</description>
        </property>
      </cookie-properties>
    </session-config>
    <ejb-ref>
      <ejb-ref-name>...</ejb-ref-name>
      <jndi-name>...</jndi-name>
    </ejb-ref>
    <resource-ref>
      <res-ref-name>...</res-ref-name>
      <jndi-name>...</jndi-name>
    </resource-ref>
    <resource-env-ref>
      <resource-env-ref-name>...</resource-env-ref-name>
      <jndi-name>...</jndi-name>
    </resource-env-ref>
    <message-destination-ref>
      <message-destination-ref-name>...</message-destination-ref-name>
      <jndi-name>...</jndi-name>
    </message-destination-ref>
    <class-loader delegate="..."/>
    <jsp-config>
      <property name="..." value="..."> (with attributes)
        <description>...</description>
      </property>
    </jsp-config>
    <parameter-encoding default-charset="..."/>
    <property name="..." value="..."> (with attributes)
      <description>...</description>
    </property>
    <message-destination>
      <message-destination-name>...</message-destination-name>
      <jndi-name>...</jndi-name>
    </message-destination>
  </glassfish-web-app>

タグの一覧

Interstage Web application deployment descriptorのタグ一覧を以下に示します。一覧の記載方法やタグの説明については、「4.2.1.4 Interstage deployment descriptorのタグの説明」を参照してください。

タグ名

概要

glassfish-web-app

deployment descriptorの開始と終了

  

security-role-mapping*

セキュリティロールの対応付け

  

role-name

deployment descriptorのセキュリティロール

principal-name+ (注)

レルムに定義されているユーザID

group-name+ (注)

レルムに定義されているグループ名

servlet*

サーブレットまたはJSPの動作の定義

  

servlet-name

サーブレットまたはJSPの名前

principal-name?

セキュリティロールに対応するユーザ名

session-config?

Webアプリケーション内のセッション制御の定義

  

session-properties?

Webアプリケーション内のセッションを制御する共通の値

  

property*

プロパティ

  

description?

説明

cookie-properties?

Webアプリケーション内のcookieを制御する共通の値

  

property*

プロパティ

  

description?

説明

ejb-ref*

参照名に対応するEJBアプリケーションのJNDI名

  

ejb-ref-name

EJBオブジェクトの参照名

jndi-name

EJBアプリケーションのJNDI名

resource-ref*

参照名に対応するリソースのJNDI名

  

res-ref-name

リソースの参照名

jndi-name

リソースのJNDI名

resource-env-ref*

参照名に対応するJMSのJNDI名

  

resource-env-ref-name

JMSの参照名

jndi-name

JMSのJNDI名

message-destination-ref*

参照名に対応するJMS DestinationオブジェクトのJNDI名

  

message-destination-ref-name

JMS Destinationオブジェクトの参照名

jndi-name

JMS DestinationオブジェクトのJNDI名

class-loader?

クラスローダの定義

jsp-config?

JSPの定義

  

property*

プロパティ

  

description?

説明

parameter-encoding?

エンコーディング

property*

プロパティ

  

description?

説明

message-destination*

参照名に対応するJMS DestinationオブジェクトのJNDI名

  

message-destination-name

JMS Destinationオブジェクトの参照名

jndi-name

JMS DestinationオブジェクトのJNDI名

注) principal-nameまたはgroup-nameのどちらか、または両方で、1つ以上、複数の指定ができます。指定順序の制限もありません。

4.2.1.2 Interstage EJB application deployment descriptor (glassfish-ejb-jar.xml)

記述形式

  <?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE glassfish-ejb-jar PUBLIC
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 EJB 3.1//EN"
    "http://glassfish.org/dtds/glassfish-ejb-jar_3_1-1.dtd">
  <glassfish-ejb-jar>
    <security-role-mapping>
      <role-name>...</role-name>
      <principal-name>...</principal-name>  または
      <group-name>...</group-name>
    </security-role-mapping>
    <enterprise-beans>
      <ejb>
        <ejb-name>...</ejb-name>
        <jndi-name>...</jndi-name>
        <ejb-ref>
          <ejb-ref-name>...</ejb-ref-name>
          <jndi-name>...</jndi-name>
        </ejb-ref>
        <resource-ref>
          <res-ref-name>...</res-ref-name>
          <jndi-name>...</jndi-name>
        </resource-ref>
        <resource-env-ref>
          <resource-env-ref-name>...</resource-env-ref-name>
          <jndi-name>...</jndi-name>
        </resource-env-ref>
        <message-destination-ref>
          <message-destination-ref-name>...</message-destination-ref-name>
          <jndi-name>...</jndi-name>
        </message-destination-ref>
        <principal>
          <name>...</name>
        </principal>
        <mdb-connection-factory>
          <jndi-name>...</jndi-name>
        </mdb-connection-factory>
        <mdb-resource-adapter>
          <resource-adapter-mid>...</resource-adapter-mid>
        </mdb-resource-adapter>
      </ejb>
      <message-destination>
        <message-destination-name>...</message-destination-name>
        <jndi-name>...</jndi-name>
      </message-destination>
    </enterprise-beans>
  </glassfish-ejb-jar>

タグの一覧

Interstage EJB application deployment descriptorのタグ一覧を以下に示します。一覧の記載方法やタグの説明については、「4.2.1.4 Interstage deployment descriptorのタグの説明」を参照してください。

タグ名

概要

glassfish-ejb-jar

deployment descriptorの開始と終了

  

security-role-mapping*

セキュリティロールの対応付け

  

role-name

deployment descriptorのセキュリティロール

principal-name+ (注)

レルムに定義されているユーザID

group-name+ (注)

レルムに定義されているグループ名

enterprise-beans

EJB JARファイルに定義したアプリケーションに関する定義

ejb*

EJBアプリケーションに関する定義

  

ejb-name

EJBアプリケーションのEnterprise Bean名

jndi-name?

EJBアプリケーション名、またはDestination名

ejb-ref*

参照名に対応するEJBアプリケーションのJNDI名

  

ejb-ref-name

EJBオブジェクトの参照名

jndi-name

EJBアプリケーションのJNDI名

resource-ref*

参照名に対応するリソースのJNDI名

  

res-ref-name

リソースの参照名

jndi-name

リソースのJNDI名

resource-env-ref*

参照名に対応するJMSのJNDI名

  

resource-env-ref-name

JMSの参照名

jndi-name

JMSのJNDI名

message-destination-ref*

参照名に対応するJMS DestinationオブジェクトのJNDI名

  

message-destination-ref-name

JMS Destinationオブジェクトの参照名

jndi-name

JMS DestinationオブジェクトのJNDI名

principal?

セキュリティロールに対応するユーザ名

  

name

ユーザ名

mdb-connection-factory?

Message-driven Beanに関連付けるConnectionFactory名

  

jndi-name

JNDI名

mdb-resource-adapter?

Message-driven Beanの受信対象種別定義

  

resource-adapter-mid

リソースアダプタ名

message-destination*

参照名に対応するJMS DestinationオブジェクトのJNDI名

  

message-destination-name

JMS Destinationオブジェクトの参照名

jndi-name

JMS DestinationオブジェクトのJNDI名

注) principal-nameまたはgroup-nameのどちらか、または両方で、1つ以上、複数の指定ができます。指定順序の制限もありません。

4.2.1.3 Interstage ACC deployment descriptor (sun-acc.xml)

記述形式

  <!DOCTYPE client-container PUBLIC
    "-//Sun Microsystems Inc.//DTD Application Server 8.0 Application Client Container//EN"
    "http://www.sun.com/software/appserver/dtds/sun-application-client-container_1_2.dtd">
  <client-container>
    <target-server name="..." address="..." port="..."/>
  </client-container>

タグの一覧

Interstage ACC deployment descriptorのタグ一覧を以下に示します。一覧の記載方法やタグの説明については、「4.2.1.4 Interstage deployment descriptorのタグの説明」を参照してください。

タグ名

概要

client-container

deployment descriptorの開始と終了

  

target-server+

アクセスするサーバのIIOPリスナーの定義


4.2.1.4 Interstage deployment descriptorのタグの説明

タグの一覧

各Interstage deployment descriptorのタグ一覧の見方と注意事項を説明します。

タグ一覧の見方

タグ一覧に記載されている記号の意味を以下に示します。

記号

意味

?

タグを定義しなくて良い。または1つだけタグを定義することができる。

*

タグを定義しなくて良い。または複数のタグを定義することができる。

+

タグを1つ以上記述する必要がある。

注意事項

Interstage deployment descriptorの注意事項を以下に示します。

タグの説明

class-loader (親タグ: glassfish-web-app)

Webアプリケーションをロードするクラスローダを制御する共通の値を定義します。
指定可能な属性名を以下に示します。

属性名

省略値

意味

delegate

true

Webクラスローダの委譲モデルを指定します。Webクラスローダの委譲モデルについては、「3.14.3 Webクラスローダの委譲モデルの変更」を参照してください。

  • true :親クラスローダへの委譲を先に行います。

  • false:親クラスローダへの委譲を後に行います。

client-container

Interstage ACC deployment descriptorの開始と終了を定義します。

Webアプリケーション内のセッションの追跡に使用するcookieを制御する共通の値を<property>タグを使用して定義します。
指定可能なプロパティを以下に示します。

プロパティ名

省略値

意味

cookieHttpOnly

true

セッションの追跡に使用するcookieにHttpOnly属性を付加します。

  • true : HttpOnly属性を付加する

  • false : HttpOnly属性を付加しない


ejb (親タグ:enterprise-beans)

EJBアプリケーションに関する定義です。

<ejb-name>
EJB application deployment descriptor (ejb-jar.xml)またはアノテーションで宣言されたEJBアプリケーションと紐付けしたEJBアプリケーションのEnterprise Bean名を指定します。

<jndi-name>

  • Remote BusinessインタフェースまたはRemoteインタフェースを定義したSessionとEntity Beanの場合:
    JNDIに登録するEJBアプリケーション名を指定します。
    このタグを省略した場合、以下の順番でEJBアプリケーション名が決定されます。

    1. ejb-jar.xmlの<mapped-name>に定義された値

    2. EJBアプリケーションのJavaソースに定義された@Statelessまたは@StatefulのmappedName属性に定義された値

  • JMSからメッセージを受信するMessage-driven Beanの場合:
    使用するDestination名を指定します。

  • その他の場合:
    本定義が無視されます。

ejb-ref (親タグ:glassfish-web-appejb)

Java EE deployment descriptorの<ejb-ref>タグ、または@EJB、@EJBsのアノテーションで定義した参照名に対応するEJBアプリケーションのJNDI名(運用環境の実名)を指定します。

<ejb-ref-name>
EJBオブジェクトの参照名を定義します。
ここで指定する参照名はJava EE deployment descriptorの<ejb-ref-name>タグで定義した参照名を使用してください。

<jndi-name>
実際の運用環境におけるEJBアプリケーションのJNDI名を定義します。

参照

定義方法については、「3.8 JNDI」を参照してください。

enterprise-beans (親タグ:glassfish-ejb-jar)

EJB JARファイルに定義したアプリケーションに関する定義です。

jsp-config (親タグ: glassfish-web-app)

Webアプリケーション内のJSPを制御する共通の値を<property>タグを使用して定義します。
指定可能なプロパティを以下に示します。

プロパティ名

省略値

意味

enablePooling

true

タグプーリングを使用するかどうかを指定します。

  • true : 使用します。

  • false: 使用しません。

keepgenerated

false

JSPコンパイル時にJavaソースコードを生成するかどうかを指定します。

  • true : 生成します。

  • false: 生成しません。

development

false

リクエスト時にJSPのオートリロードを行うかどうかを指定します。

  • true : オートリロードを行う。

  • false: オートリロードを行わない。

mdb-connection-factory (親タグ:ejb)

JMSからメッセージを受信するMessage-driven Beanに関連付けるConnectionFactory名(運用環境の実名)を指定します。

<jndi-name>
JNDI名(絶対名)を指定します。

注意

本タグ配下には<default-resource-principal>タグが記述可能ですが、利用できません。
Message-driven Bean単位にConnectionFactoryの認証情報を定義する場合、ejb-jar.xmlの<activation-config-property>に定義してください。詳細は、「6.5.3 アプリケーションからJMSを利用する際の認証方法」を参照してください。

mdb-resource-adapter (親タグ:ejb)

Message-driven Beanの受信対象種別定義です。

<resource-adapter-mid>
Message-driven Beanがリソースアダプタからメッセージを受信する場合は、リソースアダプタ名を指定します。
JMSからメッセージを受信する場合は、「jmsra」を指定してください。または、<mdb-resource-adapter>定義を省略してください。

<activation-config>
activationに関する設定です。

<description>
activation configurationの説明文です。

<activation-config-property>
activation configurationプロパティを指定します。

<activation-config-property-name>
activation configurationプロパティ名を指定します。

<activation-config-property-value>
activation configurationプロパティ値を指定します。

message-destination (親タグ: glassfish-web-appenterprise-beans)

Java EE deployment descriptorの<message-destination>タグ、または@Resource、@Resourcesで定義した参照名に対応する実際の運用環境におけるJMS DestinationオブジェクトのJNDI名を定義します。

<message-destination-name>
JMS Destination オブジェクトへの参照名を定義します。
ここで指定する参照名はJava EE deployment descriptorの<message-destination-ref>タグで定義した参照名を指定してください。

<jndi-name>
実際の運用環境におけるJMS DestinationオブジェクトのJNDI名を定義します。

参照

定義方法については、「3.8 JNDI」を参照してください。

message-destination-ref (親タグ:glassfish-web-appejb)

Java EE deployment descriptorの<message-destination-ref>タグ、または@Resource、@Resourcesで定義した参照名に対応する実際の運用環境におけるJMS DestinationオブジェクトのJNDI名を定義します。
Java EE deployment descriptorのmessage-destination-refタグでmessage-destination-linkを定義した場合は、対応する実際の運用環境におけるJMS Destinationオブジェクトをmessage-destination定義で指定します。

<message-destination-ref-name>
JMS Destination オブジェクトへの参照名を定義します。
ここで指定する参照名はJava EE deployment descriptorの<message-destination-ref-name>タグで定義した参照名を指定してください。

<jndi-name>
実際の運用環境におけるJMS DestinationオブジェクトのJNDI名を定義します。

参照

定義方法については、「3.8 JNDI」を参照してください。

parameter-encoding (親タグ:glassfish-web-app)

Webアプリケーション内で使用するエンコーディングを定義します。
指定可能な属性を以下に示します。

属性名

省略値

意味

default-charset

ISO-8859-1

クライアントからのリクエストのパラメタ解析やボディの処理に使用するエンコーディングを指定します。

principal (親タグ:ejb)

EJB application deployment descriptor (ejb-jar.xml)のrun-asタグまたは@RunAsのアノテーションに指定したセキュリティロールに対応するprincipal名(ユーザ名)を指定します。
セキュリティロールに対応するユーザが1つしかない場合は、定義不要です。

<name>
principal名(ユーザ名)を指定します。

property (親タグ:glassfish-web-appsession-propertiescookie-properties)

親タグに関するプロパティを定義します。
指定可能な属性、プロパティを以下に示します。

属性名

省略値

意味

name

プロパティ名を指定します。

value

プロパティ値を指定します。

プロパティ名

省略値

意味

description

プロパティの説明を記述します。

resource-env-ref (親タグ:glassfish-web-appejb)

Java EE deployment descriptorの<resource-env-ref>タグ、または@Resource、@Resourcesで定義した参照名に対応するJMS Destination(Queue,Topic)の運用環境のJNDI名を指定します。
このタグを定義することによって、Interstage Java EE 6 DASサービスの名前変換と同等の機能を使用できます。

<resource-env-ref-name>
JMS Destination(Queue,Topic)の参照名を定義します。
ここで指定する参照名はJava EE deployment descriptorの<resource-env-ref-name>タグで定義した参照名を指定してください。

<jndi-name>
実際の運用環境におけるJNDI名を定義します。

参照

定義方法については、「3.8 JNDI」を参照してください。

resource-ref (親タグ:glassfish-web-appejb)

Java EE deployment descriptorの<resource-ref>タグ、または@Resource、@Resourcesのアノテーションで定義した参照名に対応するJDBCデータソース、JMS(ConnectionFactory)、JavaMail、connector、URLの運用環境の実名を指定します。

<res-ref-name>
リソースの参照名を定義します。
ここで指定する参照名はJava EE deployment descriptorの<res-ref-name>タグで定義した参照名を指定してください。

<jndi-name>
実際の運用環境におけるJNDI名を定義します。

参照

定義方法については、「3.8 JNDI」を参照してください。

security-role-mapping (親タグ:glassfish-web-appglassfish-ejb-jar)

Java EE deployment descriptorに定義されているセキュリティロールとレルムに定義されているユーザまたはグループを対応付けます。
Java EEセキュリティを使用する場合に定義します。

<role-name>
Java EE deployment descriptorに定義されているセキュリティロールを定義します。

<principal-name>
レルムに定義されているユーザIDを定義します。

<group-name>
レルムに定義されているグループ名を定義します。

注意

1つのセキュリティロールに対して複数のユーザ(または、グループ)を対応付ける場合は以下のように1つの<security-role-mapping>タグに複数の<principal-name>タグ(または、<group-name>タグ)を定義してください。

  <security-role-mapping>
    <role-name>roleA</role-name>
    <principal-name>userA</principal-name>
    <principal-name>userB</principal-name>
    <group-name>GroupA</group-name>
    <group-name>GroupB</group-name>
  </security-role-mapping>

以下のように複数の<security-role-mapping>タグに分けて定義した場合は、セキュリティロールとユーザ(または、グループ)の対応付けが正常に動作しません。

  <security-role-mapping>
    <role-name>roleA</role-name>
    <principal-name>userA</principal-name>
  </security-role-mapping>

  <security-role-mapping>
    <role-name>roleA</role-name>
    <principal-name>userB</principal-name>
  </security-role-mapping>
servlet (親タグ: glassfish-web-app)

サーブレットまたはJSPの動作について定義します。

<servlet-name>
サーブレットまたはJSPの名前を定義します。
ここで指定する名前はdeployment descriptor(web.xml)の<servlet-name>タグで定義された名前を使用してください。

<principal-name>
deployment descriptor(web.xml)の<run-as>タグまたは@RunAsのアノテーションに指定したセキュリティロールに対応するprincipal名(ユーザ名)を指定します。
セキュリティロールに対応するユーザが1つしかない場合は、定義不要です。

session-config (親タグ:glassfish-web-app)

Webアプリケーション内のセッションを制御する共通の値を定義します。

session-properties (親タグ: session-config)

Webアプリケーション内のセッションを制御する共通の値を<property>タグを使用して定義します。
指定可能なプロパティを以下に示します。

プロパティ名

省略値

意味

enableCookies

true

セッションIDをcookieに設定するか指定します。設定した場合、cookieを使用したセッションの追跡ができます。

  • true : 設定します。

  • false: 設定しません。

glassfish-ejb-jar

Interstage EJB application deployment descriptorの開始と終了を定義します。

glassfish-web-app

Interstage Web application deployment descriptorの開始と終了を定義します。
また、Webアプリケーション内で共通の値を<property>タグを使用して定義できます。
指定可能なプロパティを以下に示します。

プロパティ名

省略値

意味

crossContextAllowed

true

他のWebアプリケーションへのディスパッチを許可するかどうかを指定します。

  • true : 許可します。

  • false: 許可しません。

fileEncoding

OSデフォルトのエンコーディング

サーブレットやJSPなどから静的リソースにディスパッチした場合に、静的リソースの処理に使用するエンコーディングを指定します。

target-server (親タグ:client-container)

アクセスするサーバのIIOPリスナーを定義してください。リスナーには、ホスト名またはIPアドレスと、ポート番号を指定します。
指定可能な属性を以下に示します。

属性名

省略値

意味

name

なし

一意な名前を指定します。

address

なし

クライアントからアクセスするサーバのDNSで解決できるホスト名またはIPアドレスを指定します。

port

なし

クライアントからアクセスするサーバのネーミングサービスのポート番号を指定します。