ページの先頭行へ戻る
Interstage Application Server V13.0.0 GlassFish 設計・構築・運用ガイド
FUJITSU Software

3.2.1 GlassFish Serverのdeployment descriptor

本製品固有の定義ファイルをGlassFish Serverのdeployment descriptorファイルと呼びます。GlassFish Serverのdeployment descriptorファイルの一覧を以下に示します。

ファイル名

説明

glassfish-application.xml

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

glassfish-web.xml

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

glassfish-ejb-jar.xml

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

sun-cmp-mappings.xml

EJBアプリケーションのCMPの定義を指定できます。

glassfish-application-client.xml

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

glassfish-acc.xml

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


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

3.2.1.1 GlassFish application deployment descriptor (glassfish-application.xml)

記述形式

  <?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE glassfish-application PUBLIC
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 Java EE Application 6.0//EN"
    "http://glassfish.org/dtds/glassfish-application_6_0-1.dtd">
  <glassfish-application>
    <pass-by-reference>...</pass-by-reference>
    <security-role-mapping>
      <role-name>...</role-name>
      <principal-name>...</principal-name>  または
      <group-name>...</group-name>
    </security-role-mapping>
  </glassfish-application>

タグの一覧

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

タグ名

概要

glassfish-application

deployment descriptorの開始と終了

  

pass-by-reference?

glassfish-application.xmlのpass-by-referenceタグへ指定する方法はサポートしていません。
glassfish-ejb-jar.xmlのpass-by-referenceタグに指定してください。

security-role-mapping*

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

  

role-name

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

principal-name+ (注)

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

group-name+ (注)

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

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

3.2.1.2 GlassFish 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-manager persistence-type="..."/> (with attributes)
      <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>
      <default-resource-principal>
        <name>...</name>
        <password>...</password>
      </default-resource-principal>
    </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>

タグの一覧

GlassFish Web application deployment descriptorのタグ一覧を以下に示します。一覧の記載方法やタグの説明については、「3.2.1.7 GlassFish Serverの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-manager?

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つ以上、複数の指定ができます。指定順序の制限もありません。

3.2.1.3 GlassFish 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>
          <default-resource-principal>
            <name>...</name>
            <password>...</password>
          </default-resource-principal>
        </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>
        <pass-by-reference>...</pass-by-reference>
        <cmp>
          <one-one-finders>
            <finder>
              <method-name>...</method-name>
              <query-params>...</query-params>
              <query-filter>...</query-filter>
              <query-ordering>...</query-ordering>
            </finder>
          </one-one-finders>
        </cmp>
        <principal>
          <name>...</name>
        </principal>
        <mdb-connection-factory>
          <jndi-name>...</jndi-name>
        </mdb-connection-factory>
        <jms-durable-subscription-name>...</jms-durable-subscription-name>
        <ior-security-config>
          <transport-config>
            <integrity>...</integrity>
            <confidentiality>...</confidentiality>
            <establish-trust-in-target>...</establish-trust-in-target>
            <establish-trust-in-client>...</establish-trust-in-client>
          </transport-config>
          <as-context>
            <auth-method>...</auth-method>
            <realm>...</realm>
            <required>...</required>
          </as-context>
          <sas-context>
            <caller-propagation>...</caller-propagation>
          </sas-context>
        </ior-security-config>
        <cmt-timeout-in-seconds>...</cmt-timeout-in-seconds>
        <use-thread-pool-id>...</use-thread-pool-id>
        <bean-pool>
          <steady-pool-size>...</steady-pool-size>
          <resize-quantity>...</resize-quantity>
          <max-pool-size>...</max-pool-size>
          <pool-idle-timeout-in-seconds>...</pool-idle-timeout-in-seconds>
        </bean-pool>
        <bean-cache>
          <max-cache-size>...</max-cache-size>
          <resize-quantity>...</resize-quantity>
          <cache-idle-timeout-in-seconds>...</cache-idle-timeout-in-seconds>
          <removal-timeout-in-seconds>...</removal-timeout-in-seconds>
          <victim-selection-policy>...</victim-selection-policy>
        </bean-cache>
        <mdb-resource-adapter>
          <resource-adapter-mid>...</resource-adapter-mid>
          <activation-config>
            <description>...</description>
            <activation-config-property>
              <activation-config-property-name>...</activation-config-property-name>
              <activation-config-property-value>...</activation-config-property-value>
            </activation-config-property>
          </activation-config>
        </mdb-resource-adapter>
        <webservice-endpoint>
          <port-component-name>...</port-component-name>
          <login-config>
            <auth-method>...</auth-method>
          </login-config>
        </webservice-endpoint>
      </ejb>
      <cmp-resource>
        <jndi-name>...</jndi-name>
        <default-resource-principal>
          <name>...</name>
          <password>...</password>
        </default-resource-principal>
      </cmp-resource>
      <message-destination>
        <message-destination-name>...</message-destination-name>
        <jndi-name>...</jndi-name>
      </message-destination>
    </enterprise-beans>
</glassfish-ejb-jar>

タグの一覧

GlassFish EJB application deployment descriptorのタグ一覧を以下に示します。一覧の記載方法やタグの説明については、「3.2.1.7 GlassFish Serverの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名

default-resource-principal?

デフォルトユーザーの定義

  

name

ユーザー名

password

パスワード

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名

pass-by-reference?

メソッド呼出し時の引数の受け渡し方法

cmp?

CMP Entity Beanアプリケーションに関する定義

  

one-one-finders?

EJB 1.1のCMPのEntity Beanに関する定義

  

finder+

finderメソッドごとのクエリの定義

  

method-name

finderメソッドと紐付けしたメソッド名

query-params?

入力パラメタの名前とタイプ

query-filter?

各オブジェクトに適用される条件

query-ordering?

クエリによって返却された結果をソートする順序を指定

principal?

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

  

name

ユーザー名

mdb-connection-factory?

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

  

jndi-name

JNDI名

jms-durable-subscription-name?

サブスクライバの識別名

ior-security-config?

IIOP通信の認証、通信データの完全性、機密性

  

transport-config?

トランスポート層のセキュリティレベル

  

integrity

通信データの完全性

confidentiality

メッセージの機密性

establish-trust-in-target

クライアントからのEJBコンテナの認証の可否

establish-trust-in-client

EJBコンテナからのクライアントの認証の可否

as-context?

クライアントがEJBコンテナに渡す認証情報

  

auth-method

認証方法

realm

クライアント認証で使用するレルム

required

ユーザー名とパスワードの必要性

sas-context?

クライアントから伝播される識別情報

  

caller-propagation

クライアントから伝播される識別情報のサポート

cmt-timeout-in-seconds?

トランザクションタイムアウト値

use-thread-pool-id?

リモート呼出しに使用するスレッドのプール名

bean-pool?

プール定義

  

steady-pool-size?

Beanインスタンスの最小数

resize-quantity?

削減または増加するインスタンス数

max-pool-size?

インスタンスの最大数

pool-idle-timeout-in-seconds?

インスタンスの最大許容アイドルタイムアウト時間

bean-cache?

キャッシュ定義

  

max-cache-size?

キャッシュの最大値

resize-quantity?

キャッシュの変更量

cache-idle-timeout-in-seconds?

Beanインスタンスがキャッシュにいられる最大時間

removal-timeout-in-seconds?

無通信タイムアウト時間

victim-selection-policy?

Beanインスタンスを削除するために使用するポリシー

mdb-resource-adapter?

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

  

resource-adapter-mid

リソースアダプタ名

activation-config?

activationに関する定義

  

description?

説明

activation-config-property+

activation configurationプロパティ

  

activation-config-property-name

activation configurationプロパティ名

activation-config-property-value

activation configurationプロパティ値

webservice-endpoint?

Webサービス公開に関する定義

  

port-component-name

Webサービスの名前

login-config?

ユーザー認証の方法

  

auth-method

認証方法

realm?

認証で使用するレルム

cmp-resource?

CMP Entity Beanのデータベース情報

  

jndi-name

JDBCリソース名のJNDI名

default-resource-principal?

デフォルトユーザーの定義

  

name

ユーザー名

password

パスワード

message-destination*

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

  

message-destination-name

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

jndi-name

JMS DestinationオブジェクトのJNDI名

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

3.2.1.4 GlassFish CMP Mappings deployment descriptor (sun-cmp-mappings.xml)

記述形式

  <?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE sun-cmp-mappings PUBLIC
  "-//Sun Microsystems, Inc.//DTD Sun Java Application Server 8.1 OR Mapping 1.2 //EN"
  "http://www.sun.com/software/sunone/appserver/dtds/sun-cmp-mapping_1_2.dtd">
  <sun-cmp-mappings>
    <sun-cmp-mapping>
      <schema>...</schema>
      <entity-mapping>
        <ejb-name>...</ejb-name>
        <table-name>...</table-name>
        <consistency>
          <lock-when-loaded/>
        </consistency>
        <cmp-field-mapping>
          <field-name>...</field-name>
          <column-name>...</column-name>
        </cmp-field-mapping>
        <cmr-field-mapping>
          <cmr-field-name>...</cmr-field-name>
          <column-pair>
            <column-name>...</column-name>
            <column-name>...</column-name>
          </column-pair>
        </cmr-field-mapping>
      </entity-mapping>
    </sun-cmp-mapping>
  </sun-cmp-mappings>

タグの一覧

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

タグ名

概要

sun-cmp-mappings

deployment descriptorの開始と終了

  

sun-cmp-mapping+

CMP Entity Beanのマッピング情報

  

schema

データベースのスキーマ情報

entity-mapping+

データベースとCMP Entity Beanのマッピング

  

ejb-name

CMP Entity Beanと一致するEnterprise Bean名

table-name

データベースのテーブル名

consistency?

一貫性保証の定義

  

lock-when-loaded

検索時のロックの定義

cmp-field-mapping+

CMPフィールドの定義

  

field-name

CMPフィールド名

column-name+

テーブルのカラム名

cmr-field-mapping*

CMRフィールドの定義

  

cmr-field-name

CMRフィールド名

column-pair+

データベースカラム名の対応の定義

  

column-name

テーブルのカラム名

注意

sun-cmp-mapping.xmlのテーブル名とカラム名の表記について

CMP Entity BeanではデータベースのテーブルとマッピングするときにCMP Entity Beanアプリケーションに同梱されているsun-cmp-mapping.xmlファイルの情報を使用します。データベースによっては文字列の大文字・小文字を自動で変換します。そのため、sum-cmp-mappings.xmlに記載するテーブル名やカラム名に使用する文字列の大文字/小文字の区別については使用するデータベースの仕様に合わせてください。

例えば、Oracleでは、ダブルコーテーションを付けていない識別子は自動的に大文字に変換します。このときはsun-cmp-mapping.xmlのテーブル名やカラム名も大文字で指定してください。

PowerGres Plusでは、ダブルコーテーションを付けていない識別子は自動的に小文字に変換します。このときはsun-cmp-mapping.xmlのテーブル名やカラム名も小文字で指定してください。

3.2.1.5 GlassFish application client deployment descriptor (glassfish-application-client.xml)

記述形式

  <!DOCTYPE glassfish-application-client PUBLIC
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 Java EE Application Client 6.0//EN" 
    "http://glassfish.org/dtds/glassfish-application-client_6_0-2.dtd">
  <glassfish-application-client>
    <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>
      <default-resource-principal>
        <name>...</name>
        <password>...</password>
      </default-resource-principal>
    </resource-ref>
    <resource-env-ref>
      <resource-env-ref-name>...</resource-env-ref-name>
      <jndi-name>...</jndi-name>
    </resource-env-ref>
    <message-destination>
      <message-destination-name>...</message-destination-name>
      <jndi-name>...</jndi-name>
    </message-destination>
    <message-destination-ref>
      <message-destination-ref-name>...</message-destination-ref-name>
      <jndi-name>...</jndi-name>
    </message-destination-ref>
  </glassfish-application-client>

タグの一覧

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

タグ名

概要

glassfish-application-client

deployment descriptorの開始と終了

  

ejb-ref*

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

  

ejb-ref-name

EJBオブジェクトの参照名

jndi-name

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

resource-ref*

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

  

res-ref-name

リソースの参照名

jndi-name

リソースのJNDI名

default-resource-principal?

デフォルトユーザーの定義

  

name

ユーザー名

password

パスワード

resource-env-ref*

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

  

resource-env-ref-name

JMSの参照名

jndi-name

JMSのJNDI名

message-destination*

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

  

message-destination-name

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

jndi-name

JMS DestinationオブジェクトのJNDI名

message-destination-ref*

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

  

message-destination-ref-name

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

jndi-name

JMS DestinationオブジェクトのJNDI名

3.2.1.6 GlassFish ACC deployment descriptor (glassfish-acc.xml)

記述形式

  <!DOCTYPE client-container PUBLIC
    "-//GlassFish.org//DTD GlassFish Application Server 3.1 Application Client Container//EN"
    "http://glassfish.org/dtds/glassfish-application-client-container_1_3.dtd">
  <client-container>
    <target-server name="..." address="..." port="..."/>
    <log-service>
      <property name="..." value="..."/>
    </log-service>
  </client-container>

タグの一覧

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

タグ名

概要

client-container

deployment descriptorの開始と終了

  

target-server

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

log-service?

ログファイル

  

property (with attributes)*

プロパティ


3.2.1.7 GlassFish Serverのdeployment descriptorのタグの説明

タグの一覧

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

タグ一覧の見方

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

記号

意味

?

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

*

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

+

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

注意事項

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

タグの説明

bean-cache (親タグ:ejb)

Stateful Session BeanとEntity Beanのキャッシュ定義です。
EJBコンテナのキャッシュ定義を上書きしBeanごとに指定できます。不当な値を指定した場合の動作は保証しません(注)。各定義値の設定可能な範囲および項目間の大小関係はEJBコンテナのEnterprise Beanインスタンスのキャッシング定義と同等ですので、「8.8.8 EJBコンテナの定義項目」を参照してください。キャッシュ機能については、「6.5.2 Enterprise Beanインスタンスのキャッシング」を参照してください。

<max-cache-size>
キャッシュされたBeanインスタンスをpassivate対象とするか判断する数です。
デフォルト値は512です。0を設定した場合はキャッシュサイズが無制限になります。

<resize-quantity>
Beanインスタンスをpassivateする場合、この数のインスタンスをpassivateしてキャッシュから破棄します。
変更量はキャッシュサイズの最大値による制限を受けます。デフォルト値は32です。

<cache-idle-timeout-in-seconds>
キャッシュされたBeanインスタンスをpassivate対象とするかを判定する監視時間(秒単位)です。指定した時間間隔でキャッシュを監視し、指定した時間以上アイドル状態が続いているBeanインスタンスをpassivate対象とします。passivate対象のインスタンス数が8を超えるとBeanインスタンスをファイルシステムにpassivateします。0を設定した場合はキャッシュアイドルタイムアウトが動作しません。
デフォルト値は600秒(10分)です。

<removal-timeout-in-seconds>
passivateしたBeanインスタンスがファイルシステムに存在できる最大時間(秒単位)です。Beanインスタンスに対して、この時間を超過してもビジネスメソッドが実行されなかった場合、EJBコンテナが該当のインスタンスの対話状態をファイルシステムから削除します。キャッシュアイドルタイムアウト以下の値を指定すると、Beanインスタンスをpassivateした後に削除します。0を設定した場合は削除タイムアウトが動作しません。
デフォルト値は5400秒(90分)です。

<victim-selection-policy>
設定されたポリシーに基づいて、コンテナは削除するStateful Session Beanを決定します。コンテナがキャッシュからBeanインスタンスを削除するために使用するポリシーを以下の値で指定します。

  • NRU : 最近使用されていない

  • FIFO: ファーストインファーストアウト

  • LRU : 最近の使用頻度がもっとも低い

NRUポリシー(Not Recently Used)は、キャッシュ内で古い、かつ最近アクセスされていないBeanインスタンスを優先的に削除します。FIFOポリシー(First In, First Out)は、キャッシュ内で最も古いBeanを削除します。LRUポリシー(Least Recently Used)は、最近最もアクセスされていないBeanを削除します。
デフォルト値はNRUです。

Entity Beanの場合は常にFIFOポリシーを使って削除されます。


注意

不当な値を指定した場合、以下のように動作します。

  • マイナスの値を入力した場合

    • -1を入力した場合は、EJBコンテナのキャッシュ定義の値が有効となる。

    • -1以外が指定された場合には0が指定された場合と同様に動作する。

  • resize-quantityにmax-cache-sizeより大きい値を指定した場合

    • 想定外のタイミングでインスタンスをpassivateする。

  • 文字列を入力するなど、上記以外の不当な値を指定した場合

    • 指定した値は無効となり、EJBコンテナのキャッシュ定義の値が有効となる。

bean-pool (親タグ:ejb)

Stateless Session Bean、Message-driven BeanとEntity Beanのプール定義です。
EJBコンテナのプール定義を上書きしBeanごとに指定する場合、以下の定義を使用できます。不当な値を指定した場合の動作は保証しません(注)。各定義値の設定可能な範囲および項目間の大小関係はEJBコンテナのEnterprise Beanインスタンスのプーリング定義と同等ですので、「8.8.8 EJBコンテナの定義項目」または「8.8.9 Message-driven Beanデフォルトプールの定義項目」を参照してください。プーリング機能については、「6.5.3 Enterprise Beanインスタンスのプーリング」を参照してください。

<steady-pool-size>
EJBアプリケーションへのアクセス時、またはアイドルタイムアウト監視処理時に生成するBeanインスタンス数です。
処理要求によりプールに存在するインスタンス数が指定した値より小さくなると、EJBコンテナはプールされたBeanインスタンスが指定された値以上になるまでBeanインスタンスをプールサイズの変更量単位に生成してプールに追加します。
デフォルト値は0です。

<resize-quantity>
コンテナがプール内のインスタンスの数を調整する場合、一度に破棄または追加するインスタンスの数を指定します。
0~MAX_INTEGERの範囲(Message-driven Beanの場合は1~MAX_INTEGERの範囲)で指定できますが、プールサイズの最小値と最大値による制限を受けます。
0を設定した場合、またはプールサイズの最小値に0を指定した場合は適用されません。適用されない場合は1インスタンスずつ生成します。
デフォルト値は8です。
Message-driven Beanでは0を設定した場合、デフォルト値が設定されます。

<max-pool-size>
プール内に保持するインスタンスの最大数を指定します。0~MAX_INTEGERの範囲(Message-driven Beanの場合は1~MAX_INTEGER)で指定します。
デフォルト値は32です。
0を設定した場合はプールサイズが無制限になりますが、Message-driven Beanの場合はデフォルト値が設定されます。

<pool-idle-timeout-in-seconds>
プールにあるインスタンスの最大許容アイドル時間を指定します。EJBコンテナは設定値の間隔でプールを監視し、この設定値を超過したアイドル状態のBeanインスタンスをプールから除去します。プールサイズが最小プールサイズ未満の場合は、プールサイズの変更量に従いインスタンスを追加します。
デフォルト値は600秒(10分)です。
0を設定した場合は監視しませんが、Message-driven Beanの場合はデフォルト値が設定されます。


注意

不当な値を指定した場合、以下のように動作します。

  • マイナスの値を入力した場合

    • -1を入力した場合は、EJBコンテナのプール定義の値が有効となる。

    • -1以外が指定された場合には0が指定された場合と同様に動作する。

  • 文字列を入力するなど、上記以外の不当な値を指定した場合

    • 指定した値は無効となり、EJBコンテナのプール定義の値が有効となる。

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

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

属性名

省略値

意味

delegate

true

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

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

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

client-container

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

cmp (親タグ: ejb)

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

<one-one-finders>
EJB 1.1のCMPのEntity Beanに関する定義です。

<finder>
EJB 1.1のCMP Entity Beanのfinderメソッドごとにクエリを定義します。
<method-name>
Homeインターフェイスに定義したfinderメソッドと紐付けしたメソッド名を指定します。

<query-params>
クエリの1つまたは複数の入力パラメタの名前とタイプを指定します。Java言語のパラメタの構文で記述します。

<query-filter>
クエリによって返される各オブジェクトに適用される条件を指定します。WHERE句に対応します。

<query-ordering>
クエリによって返却される結果をソートします。SQLのORDER BY句に対応します。

cmp-field-mapping (親タグ:entity-mapping)

CMPフィールドを指定します。ejb-jar.xmlファイルに定義されているcmp-fieldごとに1つの<cmp-field-mapping>タグを定義してください。

<field-name>
ejb-jar.xmlファイルに定義されているCMPフィールド(<field-name>)と一致するCMPフィールド名を指定します。

<column-name>
CMPフィールドと対応付けるテーブルのカラム名を指定します。

cmp-resource (親タグ:enterprise-beans)

EJB application deployment descriptor (ejb-jar.xml)に定義したCMP Entity Beanのデータベース情報を定義します。

<jndi-name>
JDBCリソース名のJNDI名を指定します。

cmr-field-mapping (親タグ:entity-mapping)

互いに参照を持つEJBアプリケーションのリレーションのCMRフィールドを定義します。EJB 1.1のCMP Entity Beanの場合は省略します。
ejb-jar.xmlファイルに定義されているcmr-fieldごとに1つのcmr-field-mappingを定義してください。
Entity Bean間のリレーションシップはテーブルのカラムが他のテーブルのカラムの値と同じになっていることで成り立っています。多:多のリレーションの場合にはJoinテーブルを使用します。1:1、1:多と多:1の場合にもJoinテーブルを使用できますが、通常は外部キーカラムを使用します。以下にリレーションの定義にJoinテーブルを使用する場合、外部キーカラムを使用する場合のマッピング方法を示します。

Joinテーブルを使用する場合

Joinテーブルは、リレーションのある両方のEntity Beanのプライマリキーを格納するためのカラムを持っています。各Entity Beanオブジェクトのリレーションに対してJoinテーブルに行があります。Entity Beanオブジェクトのリレーションをたどると、この行から他のEntity Beanのプライマリキーが取得されます。リレーションを作成/更新/削除するとEJBコンテナが行を追加/削除します。Joinテーブルを使用した場合、両方のEntity Beanの各プライマリキーカラムに対して<column-pair>を定義してください。

以下にEntity Bean間の多:多のリレーション(双方向)のJoinテーブルマッピング例を示します。

以下の例ではJoinテーブルとしてEMPLOYEEMEETINGというテーブルを設定しています。EMPLOYEEMEETINGテーブルにはEMPLOYEE_IDとMEETING_NOというカラムがあり、それぞれEMPLOYEEテーブルとMEETINGテーブルのプライマリキーと同じ値を格納します。

    <entity-mapping>
      <ejb-name>Employee</ejb-name>
      <table-name>EMPLOYEE</table-name>
      <cmp-field-mapping>
        <field-name>name</field-name>
        <column-name>NAME</column-name>
      </cmp-field-mapping>
      <cmp-field-mapping>
        <field-name>id</field-name>
        <column-name>ID</column-name>
      </cmp-field-mapping>
      <cmr-field-mapping>
        <cmr-field-name>meeting</cmr-field-name>
        <column-pair>
          <column-name>ID</column-name>
          <column-name>EMPLOYEEMEETING.EMPLOYEE_ID</column-name>
        </column-pair>
        <column-pair>
          <column-name>EMPLOYEEMEETING.MEETING_NO</column-name>
          <column-name>MEETING.NO</column-name>
        </column-pair>
      </cmr-field-mapping>
    </entity-mapping>
    <entity-mapping>
      <ejb-name>Meeting</ejb-name>
      <table-name>MEETING</table-name>
      <cmp-field-mapping>
        <field-name>no</field-name>
        <column-name>NO</column-name>
      </cmp-field-mapping>
      <cmp-field-mapping>
        <field-name>room</field-name>
        <column-name>ROOM</column-name>
      </cmp-field-mapping>
      <cmr-field-mapping>
        <cmr-field-name>employee</cmr-field-name>
        <column-pair>
          <column-name>NO</column-name>
          <column-name>EMPLOYEEMEETING.MEETING_NO</column-name>
        </column-pair>
        <column-pair>
          <column-name>EMPLOYEEMEETING.EMPLOYEE_ID</column-name>
          <column-name>EMPLOYEE.ID</column-name>
        </column-pair>
      </cmr-field-mapping>
    </entity-mapping>

外部キーカラムを使用する場合

外部キーカラムは、Entity Beanにマッピングしたテーブルに、その他のEntity Beanのプライマリキーを格納するために追加したカラムです。Entity Bean間にリレーションを作成すると、EJBコンテナはEntity Beanオブジェクトに対応する行の外部キーカラムに、他Entity Beanのプライマリキーを格納します。リレーションを削除すると、NULLを格納します。
外部キーカラムを使用した場合、各プライマリキーカラムに対して<column-pair>を定義してください。

以下にEntity Bean間の1:多のリレーション(双方向)の外部キーカラムマッピング例を示します。

  <entity-mapping>
      <ejb-name>Customer</ejb-name>
      <table-name>CUSTOMER</table-name>
      <cmp-field-mapping>
          <field-name>id</field-name>
          <column-name>ID</column-name>
      </cmp-field-mapping>
      <cmp-field-mapping>
          <field-name>name</field-name>
          <column-name>NAME</column-name>
      </cmp-field-mapping>
      <cmr-field-mapping>
          <cmr-field-name>cards</cmr-field-name>
          <column-pair>
              <column-name>CUSTOMER.ID</column-name>
              <column-name>CREDITCARD.CUSTOMER_ID</column-name>
          </column-pair>
      </cmr-field-mapping>
  </entity-mapping>
  <entity-mapping>
      <ejb-name>Creditcard</ejb-name>
      <table-name>CREDITCARD</table-name>
      <cmp-field-mapping>
          <field-name>number</field-name>
          <column-name>NO</column-name>
      </cmp-field-mapping>
      <cmp-field-mapping>
          <field-name>name</field-name>
          <column-name>NAME</column-name>
      </cmp-field-mapping>
      <cmp-field-mapping>
          <field-name>expires</field-name>
          <column-name>EXPIRES</column-name>
      </cmp-field-mapping>
      <cmr-field-mapping>
          <cmr-field-name>cardholder</cmr-field-name>
          <column-pair>
              <column-name>CUSTOMER.ID</column-name>
              <column-name>CREDITCARD.CUSTOMER_ID</column-name>
          </column-pair>
      </cmr-field-mapping>
  </entity-mapping>

<cmr-field-name>
ejb-jar.xmlファイルに定義されているCMRフィールド(<cmr-field-name>)と一致するCMRフィールド名を指定します。

<column-pair>
連携するデータベースカラム名を対で指定します。
<cmp-field-mapping>に定義したEntity Beanのプライマリキーカラムと、同じ値となるJoinテーブルカラムまたは他テーブルの外部キーカラムを指定してください。

<column-name>
テーブルのカラム名を指定します。
<table-name>に指定したテーブルと違うテーブルのカラムを定義する場合、「テーブル名.カラム名」のように、テーブル名とカラム名をピリオドで区切って指定してください。

cmt-timeout-in-seconds (親タグ:ejb)

トランザクション制御をコンテナが行う場合、トランザクションタイムアウト値を秒で指定します。
省略または0に指定するとトランザクションサービスで設定したタイムアウト値が使用されます。
トランザクションのタイムアウトが発生した場合、GlassFish Serverクラスターはトランザクションの状態を「MarkedRollback」に変更します。MarkedRollbackに変更されたトランザクションは、EJBアプリケーションのメソッド処理完了時に、自動的にロールバックされます。トランザクションの状態については、「2.15.6 トランザクションの監視と凍結機能」を参照してください。

consistency (親タグ:entity-mapping)

一貫性を保証する機能を定義します。

Webアプリケーション内のセッションの追跡に使用するCookie(セッションCookie)を制御する共通の値を<property>タグを使用して定義します。

なお、Servlet 3.0から、web.xmlの<session-config>-<cookie-config>タグやServlet APIのjavax.servlet.SessionCookieConfigを利用して、これらの項目の設定ができるようになりました。複数定義されている場合の優先順位はweb.xml が一番低く、glassfish-web.xml、Servlet APIの順に高くなります。

指定可能なプロパティを以下に示します。

プロパティ名

省略値

意味

cookieSecure

dynamic

セッションCookieにSecure属性を常に付加するかどうかを指定します。
SSLアクセラレータを使用する場合には、セッションCookieにSecure属性は自動的に付加されませんが、本機能を有効にすることにより、Secure属性を常に付加することが可能です。

  • true : 常に付加する

  • dynamic : スキーマに依存
    httpの場合は付加しない
    httpsの場合は付加する

cookieMaxAgeSeconds

-1

Webブラウザ上でセッションCookieを保存する際の有効期限を秒単位で設定します。

  • 1~2147483647:Webブラウザ上でセッションCookieを保存する際の有効期限となります。この場合、Webブラウザを一度終了しても、サーバーでセッションが有効な間は、Webブラウザを再起動してもセッションを継続することができます。

    注意

    1~2147483647を指定する場合、以下の点に注意してください。

    • セッションタイムアウト時間よりcookieMaxAgeSecondsの方が短い場合、サーバー上にあるセッションのセッションタイムアウトよりも先に、Webブラウザが保存するセッションCookieが無効となってしまうため、サーバー上に不要なセッションが残存してしまう可能性があります。
      そのため、セッションタイムアウトの最大値をcookieMaxAgeSecondsに設定するようにしてください。

    • Webブラウザを再起動してもセッションを継続できるため、共通端末にあるWebブラウザからリクエストする運用環境では、セッションの情報をユーザー間で共有してしまう恐れがあります。十分に注意してください。

  • 0:Cookieによるセッションの追跡が無効となります。

  • 上記以外:Webブラウザ上でセッションCookieを保存しません。この場合、Webブラウザを一度終了すると、セッションは継続されません。

cookieHttpOnly

true

セッションCookieにHttpOnly属性を付加するかどうかを指定します。

  • true : HttpOnly属性を付加する

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


default-resource-principal (親タグ:resource-ref)

親タグで定義したリソースを使用することができるデフォルトのユーザーを定義します。

<name>
JDBCリソースやJMSを使用する際の、デフォルトのユーザー名を定義します。

<password>
<name>タグで定義したデフォルトのユーザーが使用するパスワードを定義します。

注意

本定義はサーバー上にテキストファイルで保管されますので、JDBCリソースやJMSのリソース定義にパスワードエイリアスを定義することを推奨します。

ejb (親タグ:enterprise-beans)

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

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

<jndi-name>

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

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

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

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

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

ejb-name (親タグ:entity-mapping)

ejb-jar.xmlファイルに定義されているCMP Entity Beanと一致するEnterprise Bean名を指定します。

ejb-ref (親タグ:glassfish-web-appejbglassfish-application-client)

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

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

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

参照

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

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

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

entity-mapping (親タグ:sun-cmp-mapping)

データベースカラムとCMP Entity Beanのマッピングを定義します。

ior-security-config (親タグ:ejb)

Enterprise JavaBeanに対するIIOP通信の認証、通信データの完全性、機密性を設定します。

<transport-config>
トランスポート層のセキュリティレベルを指定します。
いずれかの1つでも"REQUIRED"が指定された場合は、SSLまたはTLSで通信を行います。

<integrity>
通信データの完全性を設定します。
通信データが改ざんされる恐れがある場合はREQUIREDを指定してください。

  • NONE:
    EJBコンテナは通信データの完全性をサポートしません。

  • SUPPORTED:
    EJBコンテナは通信データの完全性をサポートします。

  • REQUIRED:
    EJBコンテナは通信データの完全性をクライアントに要求します。

<confidentiality>
メッセージの機密性を設定します。
通信データが盗聴される恐れがある場合はREQUIREDを指定してください。

  • NONE:
    EJBコンテナは通信データの機密性をサポートしません。

  • SUPPORTED:
    EJBコンテナは通信データの機密性をサポートします。

  • REQUIRED:
    EJBコンテナは通信データの機密性をクライアントに要求します。

<establish-trust-in-target>
EJBコンテナがクライアントから認証可能かを設定します。

  • NONE:
    クライアントはEJBコンテナを認証できません。

  • SUPPORTED:
    クライアントはEJBコンテナを認証することが可能です。

<establish-trust-in-client>
EJBコンテナがクライアントを認証するかを設定します。

  • NONE:
    EJBコンテナはクライアントを認証しません。

  • SUPPORTED:
    EJBコンテナはクライアントを認証することが可能です。

  • REQUIRED:
    EJBコンテナはクライアントの認証を要求します。クライアントはクライアント証明書が必要です。

<as-context>
クライアントがEJBコンテナに渡す認証情報を指定します。

<auth-method>
認証方法を指定します。
IIOP通信の場合、USERNAME_PASSWORDを指定してください。

<realm>
クライアント認証で使用するレルムを指定します。defaultを指定してください。
使用されるレルムはデフォルトレルムになります。

<required>
クライアント側でユーザー名とパスワードを提供する必要があるかどうか指定します。
trueかfalseを指定してください。trueを指定すると、BeanはEJBクライアントに対してユーザー名とパスワードの指定を要求します。

<sas-context>
クライアントから伝播される識別情報について設定します。

<caller-propagation>
クライアントからの識別情報の伝播をサポートするかを指定します。

  • NONE:
    クライアントから伝播される識別情報をサポートしません。

  • SUPPORTED:
    クライアントは識別情報を伝播することが可能です。

jms-durable-subscription-name (親タグ:ejb)

EJB 2.1以降のEJBアプリケーションの場合、EJB application deployment descriptor (ejb-jar.xml)のactivation-configタグまたは@ActivationConfigPropertyのアノテーションでサブスクライバの識別名を定義します。以下の順番でサブスクライバの識別名が決定されます。

  1. EJB application deployment descriptor (ejb-jar.xml)のactivation-configタグで定義したサブスクライバの識別名

  2. @ActivationConfigPropertyのアノテーションで定義したサブスクライバの識別名

  3. 本タグで定義したサブスクライバの識別名

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

Webアプリケーション内のJSPを制御する共通の値を<property>タグを使用して定義します。
指定可能なプロパティを以下に示します。なお、JSPのオートリロードについては、「2.6.7 JSPのオートリロード」を参照してください。

プロパティ名

省略値

意味

enablePooling

true

タグプーリングを使用するかどうかを指定します。タグプーリングについては、「2.6.10 カスタムタグプーリング」を参照してください。

  • true : 使用します。

  • false: 使用しません。

keepgenerated

false

JSPコンパイル時にJavaソースコードを生成するかどうかを指定します。出力先は、「2.6.9 JSPコンパイル結果格納ディレクトリー」を参照してください。ただし、JSPの配備時コンパイルを使用すると、keepgeneratedの設定にかかわらず必ずJavaソースコードが生成されます。

  • true : 生成します。

  • false: 生成しません。

development

false

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

  • true : リクエストごとのオートリロードを行います。

  • false: リクエストごとのオートリロードを行いません。

checkInterval

0

更新されたJSPを一定間隔ごとにリロードするJSPのオートリロードを行う場合の間隔(秒)を指定します。developmentにfalseが設定されており、0より大きい値を指定した場合に、一定間隔ごとのJSPのオートリロードが有効になります。

  • 1~2147483647:指定された間隔(秒)でJSPの更新をチェックします。

  • 0:一定間隔ごとのJSPのオートリロードを行いません。

ignoreJspFragmentErrors

false

JSPを配備時コンパイルする時に、JSPフラグメントのコンパイルエラーを無視する場合に指定します。対象となるのは拡張子が.jspまたは.jspxのファイルです。

  • true:無視します。

  • false:無視しません。

scratchdir

(注)

JSPのコンパイル結果を格納するディレクトリーを絶対パスで指定します。別環境(開発環境)でjspcコマンドによりコンパイルした結果を運用環境に格納する場合に指定します。JSPの配備時コンパイルを利用する場合は、本プロパティを指定しないようにしてください。

なお、Webアプリケーションの配備解除を行っても、scratchdirで指定したディレクトリー内にあるJSPコンパイル結果は削除されません。JSPコンパイル結果が必要ない場合は、手動で削除してください。

usePrecompiled

false

Webアプリケーション内にあるJSP事前コンパイル結果を使用してJSPを実行するか指定します。

  • true: JSP事前コンパイル結果を使用します。

    • JSP事前コンパイル結果は、生成されたクラスファイルだけでなく、パッケージに該当するディレクトリーもWEB-INF/classesまたはWEB-INF/lib配下に配置するjarファイルに含めてください。

    • JSP事前コンパイル結果がWebアプリケーションに含められていない場合、クライアントにHTTPステータスコード404が返却されます。

    • JSPのオートリロード機能は、設定にかかわらず無効になります。

  • false: JSP事前コンパイル結果を使用しません。

compilerSourceVM

1.8

JSPから生成されたjavaソースの互換性を指定します。JDK7以降で導入された文法を使用する場合は、compilerSourceVMプロパティ、compilerTargetVMプロパティにそれぞれ1.7または1.8を指定してください。

以下のバージョンが指定できます。

  • 1.5

  • 5

  • 1.6

  • 6

  • 1.7

  • 7

  • 1.8(デフォルト)

  • 8

compilerTargetVM

1.8

JSPから生成されたjavaソースをコンパイル結果のクラスファイルの互換性を指定します。JDK7以降で導入された文法を使用する場合は、compilerSourceVMプロパティ、compilerTargetVMプロパティにそれぞれ1.7または1.8を指定してください。

以下のバージョンが指定できます。

  • 1.5

  • 5

  • 1.6

  • 6

  • 1.7

  • 7

  • 1.8(デフォルト)

  • 8

mappedfile

false

JSPのコンパイル結果のjavaソース内において、JSPの静的なテキスト(HTMLの構文など)の出力行を、JSPの改行ごとに記述するかどうか指定します。なお、JSP事前コンパイルの場合は、本プロパティに関わらず常にfalseです。

  • true: 静的テキストの出力行は、javaソース内でまとめられず、JSPの改行ごとに記述されます。

  • false: 静的テキストの出力行は、javaソース内でまとめられます。

本プロパティにfalseを指定することにより、javaソースのサイズを圧縮することができます。

注)2.6.9 JSPコンパイル結果格納ディレクトリー」を参照してください。

lock-when-loaded (親タグ:consistency (親タグ:entity-mapping))

検索時のロック機能を定義します。本タグは<lock-when-loaded/>とするか値を空にして定義します。
このタグを定義すると、EJBコンテナが発行するSELECT文で検索した行に更新ロックをかけます。更新ロックとは検索処理時に参照した行にロックをかけることにより、トランザクション処理が完了するまでデータの一貫性を保証するロックです。

log-service (親タグ:client-container)

ログの出力レベルを指定します。
指定可能な属性を以下に示します。

属性名

省略値

意味

level

INFO

ログの出力レベルを指定します。

  • INFO: 情報メッセージ、警告メッセージ、エラーメッセージを出力します。 (注1)

  • WARNING: 警告メッセージ、エラーメッセージを出力します。 (注2)

  • SEVERE: エラーメッセージを出力します。

注1) トラブル調査用にログを採取する場合はINFOレベルを指定してください。
注2) -xmlオプションを指定しない場合に使用されるデフォルトのglassfish-acc.xmlファイルにはWARNINGを指定しています。

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>に定義してください。詳細は、「5.9.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プロパティ値を指定します。

webservice-endpoint (親タグ:ejb)

Stateless Session BeanをWebサービスのエンドポイントとして公開する場合の設定を定義します。

<port-component-name>
Webサービスの名前を記載します。javax.jws.WebServiceアノテーションのname属性などで指定した名前を記載します。特に指定していない場合、ejb実装クラスのクラス名を記載します。

<login-config>
クライアントを認証する場合に、認証の方法を定義します。

<auth-method>
認証方法を定義します。以下の値がサポートされます。

  • BASIC : HTTP Basic認証

<realm-name>
認証で使用するレルム名を定義します。省略した場合は、デフォルトレルムが選択されます。

message-destination (親タグ: glassfish-web-appenterprise-beansglassfish-application-client)

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

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

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

参照

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

message-destination-ref (親タグ:glassfish-web-appejbglassfish-application-client)

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

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

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

参照

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

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

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

属性名

省略値

意味

default-charset

ISO-8859-1

クライアントからのリクエストのパラメタ解析やボディの処理に使用するエンコーディングを指定します。
なお、Servlet APIでも設定可能です。「2.6.12 文字コード」を参照してください。

pass-by-reference (親タグ:ejb)

ServletまたはEnterprise JavaBeanが同一プロセス上の他のEnterprise JavaBeanのリモートインターフェイス(Homeインターフェイス、Remoteインターフェイス、Remote Businessインターフェイス)のメソッドを呼び出す場合、引数と返却値のコピーを渡すか、または参照を渡すかを指定します。trueまたはfalseを指定してください。それ以外の値を指定した場合、falseを指定した動作になります。それぞれの値を指定した場合の動作は以下です。

  • true:
    引数と返却値の参照を渡します。コピーを作成しないため性能が向上します。しかし、渡された値を呼出し元で変更した場合、呼出し先の値を変更することになるため、アプリケーションの動作に影響があります。メソッドの引数と返却値を更新しない場合だけ指定してください。

  • false:(省略値)
    引数と返却値のコピーを渡します。コピーを生成するため、性能のオーバーヘッドがあります。しかし、渡された値を呼出し元で変更しても、呼出し先の値は変更されないため、別プロセスで同一のEnterprise JavaBeanを呼び出した場合とアプリケーションの動作を同一とすることができます。

注意

  • 本タグの指定は、呼び出し元のServletまたはEnterprise JavaBeanと、呼び出される側のEnterprise JavaBeanが、同じEARファイルまたはJARファイルに配備されている場合だけ有効となります。
    つまり、同じクラスローダでロードされる範囲で有効となります。

  • glassfish-application.xmlのpass-by-referenceタグへ指定する方法はサポートしていません。
    本機能を利用する場合、glassfish-ejb-jar.xmlのpass-by-referenceタグに指定してください。

principal (親タグ:ejb)

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

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

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

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

属性名

省略値

意味

name

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

value

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

プロパティ名

省略値

意味

description

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

resource-env-ref (親タグ:glassfish-web-appejbglassfish-application-client)

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

<resource-env-ref-name>
JMS Destination(Queue,Topic)、並行処理リソースの参照名を定義します。
ここで指定する参照名はJakarta EE deployment descriptorの<resource-env-ref-name>タグで定義した参照名を指定してください。

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

参照

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

resource-ref (親タグ:glassfish-web-appejbglassfish-application-client)

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

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

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

参照

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

schema (親タグ: sun-cmp-mapping)

データベースのスキーマ情報のファイルパスを指定します。
ejb-jarファイルのトップからの相対パスを指定して拡張子(".dbschema")を省略してください。パスの区切り文字は"/"(スラッシュ)です。また、スキーマ情報を自動的に取得させる場合、タグの値を空にしてください


例1:スキーマファイル名がEJB.schemaで、ejb-jarファイル配下のMETA-INFディレクトリーにスキーマファイルがある場合

<schema>META-INF/EJB</schema>

例2:スキーマ情報を自動的に取得させる場合

<schema/>
または
<schema></schema>
security-role-mapping (親タグ:glassfish-web-appglassfish-ejb-jar)

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

<role-name>
Jakarta 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>
  • security-role-mappingタグを定義しない場合、グループを同名のロールにマッピングします。
    例えば、web.xmlに以下の記載があり、glassfish-web.xmlで<security-role-mapping>タグの記載を省略したとき、userグループに所属しているユーザーの場合は認可に成功します。userグループに所属していないユーザーの場合は認可に失敗します。

      <security-constraint>
        <auth-constraint>
          <role-name>user</role-name>
        </auth-constraint>
      </security-constraint>
    
      <security-role>
        <role-name>user</role-name>
      </security-role>
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-manager (親タグ: session-config)

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

属性名

省略値

意味

persistence-type

memory

Webアプリケーションが使用するセッションの永続化方式を指定します。

  • memory : 永続化しない

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

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

プロパティ名

省略値

意味

enableCookies

true

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

  • true : 設定します。

  • false: 設定しません。

sun-cmp-mapping (親タグ:sun-cmp-mappings)

特定のスキーマにマップするCMP Entity Beanのマッピング情報を定義します。

sun-cmp-mappings

GlassFish CMP Mappings deployment descriptorの開始と終了を定義します。

glassfish-application

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

glassfish-application-client

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

glassfish-ejb-jar

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

glassfish-web-app

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

プロパティ名

省略値

意味

crossContextAllowed

true

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

  • true : 許可します。

  • false: 許可しません。

fileEncoding

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

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

table-name (親タグ:entity-mapping)

使用するデータベースのテーブル名を指定します。

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

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

属性名

省略値

意味

name

なし

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

address

なし

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

port

なし

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

use-thread-pool-id (親タグ:ejb)

リモート呼出しに使用するスレッドのプール名を指定します。
省略または定義されていないスレッドプール名を指定するとデフォルトスレッドプールが使用されます。

注意

JMSメッセージが受信され、Message-driven Beanが実行される場合、Message-driven Beanが使用するスレッドプールはデフォルトスレッドプール固定です。

参照

スレッドプール機能については、「6.5.1 スレッドプーリング」を参照してください。