ejb-jar.xmlリファレンス

ejb-jar.xmlリファレンス

作成 2002/11/9
更新 2002/11/24

作成中

ejb-jar_2_0.dtd に基づくリファレンスです。

要素ツリー(概要)

  1. <ejb-jar>
    1. <enterprise-beans>
    2. <relationships>?
    3. <assembly-descriptor>?

要素ツリー(詳細)

  1. <ejb-jar>
    1. <description>?
    2. <display-name>?
    3. <small-icon>?
    4. <large-icon>?
    5. <enterprise-beans>
    6. <relationships>?
      1. <description>?
      2. <ejb-relation>+
        1. <description>?
        2. <ejb-relation-name>?
        3. <ejb-relationship-role>
          1. <description>?
          2. <ejb-relationship-role-name>?
          3. <multiplicity> One | Many
          4. <cascade-delete>?
          5. <relationship-role-source>
            1. <description>?
            2. <ejb-name>
          6. <cmr-field>?
            1. <description>?
            2. <cmr-field-name>
            3. <cmr-field-type>? java.util.Collection | java.util.Set
        4. <ejb-relationship-role>
    7. <assembly-descriptor>?
      1. <security-role>*
        1. <description>?
        2. <role-name>
      2. <method-permission>
        1. <description>?
        2. +
          • <role-name>+
          • <unchecked>
        3. <method>+
      3. <container-transaction>*
        1. <description>?
        2. <method>+
          1. <description>?
          2. <ejb-name>
          3. <method-intf>? Home | Remote | LocalHome | Local
          4. <method-name>
          5. <method-params>?
            1. <method-param>*
        3. <trans-attribute> NotSupported | Supports | Required | RequiresNew | Mandatory | Never
      4. <exclude-list>?
        1. <description>?
        2. <method>+
          1. <description>?
          2. <ejb-name>
          3. <method-intf>? Home | Remote | LocalHome | Local
          4. <method-name>
          5. <method-params>?
            1. <method-param>*
    8. <ejb-client-jar>?


表示、説明要素

DTDの説明を記述したり、ツール上で表示される名前やアイコンを指定します。
必須要素はありませんが、説明などはなるべく入れておいた方がよいでしょう。

<description>

説明を記述

<display-name>

表示名

<small-icon>

アイコン(小)

<large-icon>

アイコン(大)

主要素

<ejb-jar>

ルート要素

<enterprise-beans>

EJB要素。
子要素に1つ以上のセッションBean、エンティティーBean、メッセージドリブンBeanを指定します。

<assembly-descriptor>

トランザクションとセキュリティー指定の要素

セッションbean

<sesion>

セッションBeanの要素

<ejb-name>

EJBの名前
単なる表示名と異なり、 他のEJB参照、リソース参照、トランザクション、セキュリティーメソッド指定などで、 この名前が使われます。

<home>

ホームインターフェイスの完全指定クラス名

<remote>

リモートコンポーネントインターフェイスの完全指定クラス名。

<local-home>

ローカルホームインターフェイスの完全指定クラス名

<local>

ローカルコンポーネントインターフェイスの完全指定クラス名。

<ejb-class>

EJBビーンクラスの完全指定クラス名。

<sesion-type>

セッションBeanのタイプ
ステートレスの場合はStateless、 ステートフルの場合はStateful を指定します。

<transaction-type>

トランザクションのタイプ。
BMTの場合はBean、CMTの場合はContainerを指定します。

例、ステートレスとステートフルのセッションBean

<?xml version="1.0" encoding="Shift_JIS"?>

<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>

<ejb-jar>

  <enterprise-beans>
    <session>
      <ejb-name>HelloEJB</ejb-name>
      <home>hello.HelloHome</home>
      <remote>hello.Hello</remote>
      <ejb-class>hello.HelloBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
     </session>

    <session>
      <ejb-name>CounterEJB</ejb-name>
      <home>counter.CounterHome</home>
      <remote>counter.Counter</remote>
      <ejb-class>counter.CounterBean</ejb-class>
      <session-type>Stateful</session-type>
      <transaction-type>Container</transaction-type>
    </session>

  </enterprise-beans>

</ejb-jar>

エンティティーbean

<entity>

エンティティBeanの要素

<persistence-type>

永続化のタイプ
BMPはBean、 CMPContainer を指定。

<prim-key-class>

プライマリキークラスの完全指定クラス名

<reentrant>

再入可能性
Trueにすると再入可能。 再入可能にした場合に問題におこる場合があるので、必要なければFalseにするべき。

<cmp-version>

CMPのバージョン

<abstract-schema-name>

SQL QLで使われる名前

<cmp-field>

CMPフィールド要素

<field-name>

フィールド名

<primkey-field>

プライマリキーのフィールド名

<query>

EJBクエリ言語の要素

<query-method>

<result-type-mapping>

<ejb-ql>

メッセージドリブンbean

<message-driven>

メッセージドリブンBeanの要素

<message-selector>

<acknowledge-mode>

確認応答の方法を指定。
指定できる値は以下
Auto-acknowlege
Dups-ok-Acknowkege

<message-driven-destination>

Beanがキューとトピックのどちら向けの設計かを指定

<destination-type>

Beanがサブスクライブするキューのタイプ
指定できる値は以下
javax.jms.Queue
javax.jms.Topic

<subscription-durability>

トピックのサブスクライブの種類を指定
指定できる値は以下
Durable
NonDurable

CMPの関連

<relationships>

CMP間の関連を指定します。

リソース参照

<env-entry>

環境エントリ要素

<env-entry-name>

環境エントリ名

<env-entry-type>

環境エントリのクラス名

<env-entry-value>

環境エントリの値

<ejb-ref>

EJB参照の要素

<ejb-local-ref>

ローカルEJB参照の要素

<ejb-ref-name>

EJB参照名

<ejb-ref-type>

参照するEJBのクラス名

<ejb-link>

EJBリンク

<security-role-ref>

セキュリティーロール参照

<role-name>

<role-link>

<security-identity>

<use-caller-identity>

<run-as>

<resource-ref>

リソース参照

<res-ref-name>

リソース参照の名前

<res-type>

リソース参照の型

<res-auth>

認証方法

<res-sharing-scope>

共有スコープ

<resource-env-ref>

リソース環境参照

トランザクション

<container-transaction>

コンテナトランザクションの要素

<ejb-name>

指定するEJB名を記述。

<method>

メソッドを指定

<method-intf>

ejb-nameの補足要素。 同じメソッドがHomeインターフェイスとRemoteインターフェイス にある場合にインターフェイスを特定するために指定。

<method-name>

指定するメソッド名を記述。ワイルドカード(*)で全メソッド指定可

<method-params>

指定するメソッドが、複数ある場合、 メソッドの引数を子要素のmethod-paramで指定する。

<method-param>

メソッドの引数を指定。配列は[]

<trans-attribute>

トランザクション属性を記述

<exclude-list>

除外リストを指定
Beanに実装されているが、呼び出されたくないメソッドのリストを 指定します。既存のBeanを使う場合に必要外のメソッドを指定したり、 デバッグ用のメソッドを運用時に指定したりします(たぶん)。

<>