www.bea.com code library downloads support.bea.com BEA logo

WebLogic エンタープライズ JavaBeans プログラマーズ ガイド

 Previous Next Contents Index View as PDF

WebLogic Server の EJB ツール

BEA では、EJB の作成とコンフィグレーションを支援するツールを提供しています。それぞれについて以下の節で説明します。

 


EJBGen

EJBGen は、エンタープライズ JavaBean 2.0 のコード ジェネレータです。Bean クラスファイルに javadoc タグで注釈を付けた後、EJBGen を使用して EJB アプリケーションのリモートクラス、ホーム クラス、および、デプロイメント記述子ファイルを生成することができるので、編集および管理すべき EJB ファイルの数を 1 つに減らせます。

デプロイメント記述子の生成には、EJBGen の使用をお勧めします。これは、EJB の維持を容易化および簡略化できる、BEA のベスト プラクティスです。EJBGen を使用する場合、記述して注釈を付ける必要がある Bean クラスは 1 つだけです。そのため、記述、デバッグ、および維持が簡略化されます。さらに、開発環境として WebLogic Workshop を使用すると、EJBGen タグが自動挿入されます。

BEA WebLogic 8.1 のサンプルをインストール済みであれば、WL_HOME¥samples¥server¥examples¥src¥examples¥ejb20¥ejbgen の場所にEJBGen を使用した「Bands」という名前のサンプル アプリケーションがあります。

EJBGen 構文

javadoc -docletpath weblogic.jar -doclet weblogic.tools.ejbgen.EJBGen (YourBean).java

クラスパス内に weblogic.jar がない場合は、次のように weblogic.jar にパスを追加します。

javadoc -docletpath <path_to_weblogic.jar> weblogic.jar -doclet weblogic.tools.ejbgen.EJBGen (YourBean).java

他の EJB との関係がある EJB に対して EJBGen を呼び出す場合は、次のように EJB の後に、関係する EJB を指定してその EJB を呼び出します。

 javadoc -docletpath weblogic.jar -doclet weblogic.tools.ejbgen.EJBGen (YourBean).java (RelatedBean).java

EJBGen では次のオプションを使用します。

オプション

定義

-d [directory]

このディレクトリの下にすべてのファイルが作成される。

-descriptorDir [directory]

このディレクトリの下にすべての記述子ファイルが作成される。

-ignorePackage

このフラグを設定すると、EJBGen は生成した Java ファイルのパッケージ名を無視し、-d フラグで指定された出力ディレクトリにファイルを作成する (-d フラグが指定されていない場合は、カレント ディレクトリ)。

-pfd1

このフラグを設定すると、EJBGenは EJB 2.0 の最終草案 バージョン 1 と互換したデプロイメント記述子を生成する。Weblogic 6.1 より前のバージョンを使用する場合には、このフラグを必ず使用する。

-ejbPrefix [string] (default: "")

EJB クラス生成時に使用するプレフィックス。

-ejbSuffix [string] (default: "Bean" or "EJB")

EJB クラス生成時に使用するサフィックス。

-localHomePrefix [string] (default: "")

ローカル EJB クラス生成時に使用するプレフィックス。

-localHomeSuffix [string] (default: "LocalHome")

ローカル EJB クラス生成時に使用するサフィックス。

-remoteHomePrefix [string] (default: "")

リモート EJB ホーム クラス生成時に使用するプレフィックス。

-remoteHomeSuffix [string] (default: "Home")

リモート EJB ホーム クラス生成時に使用するサフィックス。

-remotePrefix [string] (default: "")

リモート EJB クラス生成時に使用するプレフィックス。

-remoteSuffix [string] (default: "")

リモート EJB クラス生成時に使用するサフィックス。

-localPrefix [string] (default: "")

ローカル EJB クラス生成時に使用するプレフィックス。

-localSuffix [string] (default: "Local")

ローカル EJB クラス生成時に使用するサフィックス。

-valueObjectPrefix [string] (default: "")

Value オブジェクト クラス生成時に使用するプレフィックス。

-valueObjectSuffix [string] (default: "Value")

Value オブジェクト クラス生成時に使用するサフィックス。

-jndiPrefix [string] (default: "")

@remote-jndi-name と @local-jndi-name で使用するプレフィックス。

-jndiSuffix [string] (default: "")

@remote-jndi-name と @local-jndi-name で使用するサフィックス。

-checkTags

このオプションで起動した場合、EJBGen はどのクラスも生成しないが、コマンドラインで指定したクラスに対して有効でない EJBGen タグを見つける。

-docTags

EJBGen によって把握された、すべてのタグを出力する。注意点として、このオプションでどのソースファイルも必要ないにもかかわらず、コマンドラインで既存の .java クラスを指定しなくてはならない。 これをしないと、このフラグを認識したにもかかわらず、Javadoc はエラーメッセージを返す。

-docTag tagName

これを指定すると、EJBGen は把握されているすべての属性など、このタグの詳細な説明を出力する。注意点として、このオプションでどのソースファイルも必要ないにもかかわらず、コマンドラインで既存の .java クラスを指定しなくてはならない。 これをしないと、このフラグを認識したにもかかわらず、Javadoc はエラーメッセージを返す。

-docTagsHtml

-docTags と同じであるが、HTML 文書を生成する。

-propertyFile [fileName]

EJBGen が置換変数を定義するのに読み込む、プロパティ ファイルの名前。「プロパティ ファイル」を参照。

-noValueClasses

これを指定すると、Value クラスは生成されなくなる。

-noRemoteInterfaces

これを指定すると、リモート インタフェースは生成されない。

-noLocalInterfaces

これを指定すると、ローカル インタフェースは生成されない。

-wls7

このフラグは EJBGen が WebLogic Server 7.0 のデプロイメント記述子を生成することを指定するのに使用する。

-toStringForPrimitivesOnly

これを指定すると、値オブジェクトの toString() メソッドはプリミティブであるコンテナ管理による永続性フィールドのみを表示する。このフラグは、値オブジェクト間での循環的な参照の問題 (AValue.toString()BValue.toString() を呼び出し、それがさらに AValue.toString() を呼び出すなど) を解消する。


 

EJBGen の例

注釈を付けた Bean ファイルを次に示しますが、これを基に EJBGen はリモート インタフェース、ホーム インタフェース、デプロイメント記述子ファイルを生成します。AccountBean.java がメインの Bean クラスです。これはCMP EJB 2.0 エンティティ Bean です。

/**
 * @ejbgen:entity
* ejb-name = AccountEJB-OneToMany
* data-source-name = examples-dataSource-demoPool
* table-name = Accounts
* prim-key-class = java.lang.String
 *
 * @ejbgen:jndi-name
 *   local = one2many.AccountHome
	
 * @ejbgen:finder
 *   signature = "Account findAccount(double balanceEqual)"
* ejb-ql = "WHERE balance = ?1"
 *
 * @ejbgen:finder
 *   signature = "Collection findBigAccounts(double balanceGreaterThan)"
 *   ejb-ql = "WHERE balance > ?1"
 *
 * @ejbgen:relation
 *   name = Customer-Account
* target-ejb = CustomerEJB-OneToMany
* multiplicity = many
* cmr-field = customer
 *
 */
abstract public class AccountBean implements EntityBean {
  /**
   * @ejbgen:cmp-field column = acct_id
   * @ejbgen:primkey-field
   * @ejbgen:remote-method transaction-attribute = Required
   */
  abstract public String getAccountId();
  abstract public void setAccountId(String val);
  // ....
}

この例でも見られるように、タグには、それが使用できる場所に応じてクラス タグとメソッド タグの 2 種類があります。

ファイルの編集を終えたら、次の Javadoc コマンドを通して EJBGen を起動します。

javadoc -docletpath weblogic.jar -doclet weblogic.tools.ejbgen.EJBGen AccountBean.java

Javadoc コマンドは、次のファイルを生成します。

EJBGen タグ

次のタグを使って Bean クラス ファイルに注釈を付けます。

@ejbgen:automatic-key-generation

使用場所 :クラス

適用対象 :エンティティ Bean

属性

説明

必須

cache-size

主要キャッシュのサイズ。

必須

name

ジェネレータの名前。

必須

type

ジェネレータのタイプ。

必須


 

@ejbgen:cmp-field

使用場所 : メソッド

適用対象 :エンティティ Bean

属性

説明

必須

column

CMP フィールドがマップされるカラム。「複数テーブルへのエンティティ Bean のマッピング」を参照。

必須

column-type

このカラムのタイプ (OracleClob | OracleBlob)。

省略可能

ordering-number (0..n)

このフィールドがシグネチャおよびコンストラクタ内に置かれるべき順番。この順序付けを有効にするためには、すべての cmr および cmp フィールドでこの属性に異なる数値を設定する必要がある。

省略可能

exclude-from-value-object

True であれば、このフィールドは値オブジェクトにおいて生成されない (True | False)。

省略可能

group-names

このフィールドが属するグループ名をカンマで区切ったもの。

省略可能

primkey-field

このフィールドが複合主キーの一部であるかどうか (True | False)。

省略可能

table-name

このフィールドがマップされるテーブル。 「複数テーブルへのエンティティ Bean のマッピング」.

省略可能


 

@ejbgen:cmr-field

使用場所 : メソッド

適用対象 :エンティティ Bean

属性

説明

必須

ordering-number (0..n)

このフィールドがシグネチャおよびコンストラクタ内に置かれるべき順番。この順序付けを有効にするためには、すべての cmr および cmp フィールドがこの属性で異なる数値を持つ必要がある。

省略可能

exclude-from-value-object

True であれば、このフィールドは値オブジェクトにおいて生成されない (True | False)。

省略可能

group-names

このフィールドが属するグループ名をカンマで区切ったもの。

省略可能


 

@ejbgen:create-default-rdbms-tables

使用場所 :クラス

適用対象 :エンティティ Bean

属性

説明

必須

value

(CreateOnly | Disabled | DropAndCreate | DropAndCreateAlways | AlterOrCreate)

省略可能


 

@ejbgen:ejb-client-jar

使用場所 :クラス

適用対象 :すべての Bean タイプ

属性

説明

必須

file-name

生成するクライアント JAR の名前。複数の EJB にこのタグがあった場合、指定された JAR ファイルのうち1 つだけがデプロイメント記述子に含められる。

必須


 

@ejbgen:ejb-local-ref

使用場所 :クラス

適用対象 :セッションおよびエンティティ Bean

属性

説明

必須

home

Bean のローカル クラス

省略可能

jndi-name

参照の JNDI 名。

省略可能

link

Bean へのリンク。

省略可能

local

Bean のホーム クラス。

省略可能

name

参照の名前。

省略可能

type

(Entity | Session)

省略可能


 

@ejbgen:ejb-ref

使用場所 :クラス

適用対象 :すべての Bean タイプ

属性

説明

必須

home

Bean のリモート クラス。

省略可能

jndi-name

参照の JNDI 名。

省略可能

link

Bean のリンク。

省略可能

name

参照の名前。

省略可能

remote

Bean のホーム クラス。

省略可能

type

(Entity | Session)

省略可能


 

@ejbgen:entity

使用場所 :クラス

適用対象 :エンティティ Bean

属性

説明

必須

ejb-name

エンティティ Bean の名前。

必須

prim-key-class

null

必須

abstract-schema-name

この EJB の抽象スキーマ名。指定されない場合、ejb-name の値が使用される。

省略可能

cache-between-transactions

エンティティ Bean の永続データをトランザクション間でキャッシュするかどうか (True | False)。

省略可能

check-exists-on-method

コンテナが各メソッド呼び出しについて Bean の有無をチェックするかどうか (True | False)。

省略可能

concurrency-strategy

この Bean の同時方式を定義する (Optimistic | ReadOnly | Exclusive | Database)。

省略可能

data-source-name

データソース名 (config.xml ファイルで宣言したのと同じ)。

省略可能

database-type

データベースのタイプ。


db-is-shared

(True | False)

省略可能

default-transaction

詳細なトランザクション属性を設定しない、すべてのメソッドに適用されるトランザクション属性。

省略可能

delay-database-insert-until

(ejbCreate | ejbPostCreate)

省略可能

delay-updates-until-end-of-tx

トランザクション コミット後に更新が送信されるかどうか (True | False)。

省略可能

dispatch-policy

この Bean の JMS ディスパッチ ポリシー キュー

省略可能

enable-call-by-reference

コンテナがこの EJB を参照で呼び出すかどうか (True | False)。

省略可能

enable-dynamic-queries

動的クエリが有効化されているかどうか (True | False)。

省略可能

finders-load-bean

これを True に設定した場合、Bean はファインダによってすぐにキャッシュにロードされる (True | False)。

省略可能

home-call-router-class-name

ホーム メソッド呼び出しのルーティングに使用するクラス。

省略可能

home-is-clusterable

この Bean をクラスタ内の複数のサーバにデプロイできるかどうか (True | False)。

省略可能

home-load-algorithm

このホームのレプリカ間でロード バランシングを行うためのアルゴリズム (RoundRobin | Random | WeightBased)。

省略可能

idle-timeout-seconds

ある EJB がキャッシュ内に置かれる最長の時間。

省略可能

invalidation-target

コンテナ管理による永続性 エンティティ EJB が変更された場合に無効とすべき、読み込み専用エンティティ Bean の ejb-name

省略可能

max-beans-in-cache

キャッシュ内の Bean の最大数。

省略可能

optimistic-column

オプティミスティックな同時実行性のためのタイムスタンプを保持するカラム。

省略可能

persistence-type

この Bean の永続性がコンテナ管理によるものであるか Bean 管理によるものであるか (CMP | BMP)。

省略可能

prim-key-class-nogen

(True | False)。このキーワードを指定した場合、EJBGen は (各自が提供するものと仮定して) 主キー クラスを生成しなくなる。

省略可能

read-timeout-seconds

読み込み専用エンティティ Bean に ejbLoad() を呼び出す間隔の秒数。

省略可能

reentrant

(True | False)

省略可能

run-as

この EJB の role-name を指定する。

省略可能

run-as-identity-principal

ロールを複数プリンシパルにマップする場合のプリンシパル名を指定する。

省略可能

table-name

主キーの Java クラス。複合主キーの場合、このクラスは EJBGen によって生成される。

省略可能

trans-timeout-seconds

トランザクション タイムアウトの秒数。

省略可能

use-caller-identity

この EJB が呼び出し側の ID を使用するかどうか (True | False)。

省略可能

use-select-for-update

データベースから Bean がロードされるときに SELECT ... FOR UPDATE 句が使用される (True | False)。

省略可能

validate-db-schema-with

EJB コンテナによって作成されるテーブルの検証に使用されるメソッド (MetaData | TableQuery)。

省略可能

verify-columns

オプティミスティックな同時実行性が、トランザクション中に修正対象となるカラムが修正されていないことを確認する方法 (Read|Modified | Version | Timestamp)。

省略可能


 

@ejbgen:entity-cache-ref

使用場所 :クラス

適用対象 :エンティティ Bean

属性

説明

必須

cache-between-transactions

エンティティ Bean の永続データをトランザクション間でキャッシュするかどうか (True | False)。

省略可能

concurrency-strategy

この Bean の同時方式を定義する (Optimistic|ReadOnly | Exclusive | Database)。

省略可能

name

キャッシュの名前。

省略可能

estimated-bean-size

エンティティ Bean のインスタンスの推定平均サイズ (バイト単位)。

省略可能


 

@ejbgen:env-entry

使用場所 : クラス

適用対象 :すべての Bean タイプ

属性

説明

必須

name

この環境エントリの名前。

必須

type

この環境エントリの Java タイプ (java.lang であっても完全修飾しなければならない)。

必須

value

この環境エントリの値。

必須


 

@ejbgen:file-generation

使用場所 : クラス

適用対象 :すべての Bean タイプ

属性

説明

必須

local-class

この EJB のローカル インタフェースを生成するかどうか (True | False)。

省略可能

local-home

この EJB のローカル ホーム インタフェースを生成するかどうか (True | False)。

省略可能

pk-class

この EJB の主キー クラスを生成するかどうか (True | False)。

省略可能

remote-class

この EJB のリモート インタフェースを生成するかどうか (True | False)。

省略可能

remote-home

この EJB のリモート ホーム インタフェースを生成するかどうか (True | False)。

省略可能

value-class

この EJB の値クラスを生成するかどうか (True | False)。

省略可能


 

@ejbgen:finder

使用場所 :クラス

適用対象 :エンティティ Bean

属性

説明

必須

caching-name

期待されるリレーションシップ キャッシングの名前。

省略可能

comment

生成されたファインダ Java メソッドの上に再現されるコメント。

省略可能

ejb-ql

デプロイメント記述子に含まれるものと同じ、EJB QL リクエスト。

省略可能

generate-on

このファインダの生成場所となるホーム (Local | Remote)。指定がなければ両方。

省略可能

group-name

WebLogic クエリのグループの名前。

省略可能

include-updates

現在のトランザクション中の更新を必ずクエリの結果に反映するかどうか (True | False)。

省略可能

isolation-level

このメソッドのトランザクション アイソレーションのタイプ。

省略可能

max-elements

多値クエリによって返される要素の最大数。

省略可能

signature

ホーム クラスに生成したいシグネチャと正確に一致させなければならない。EJBGen は適合例外を追加するが、各パラメータについて、java.lang であっても完全修飾したタイプを必ず指定する。

省略可能

sql-select-distinct

生成された SQL 'SELECT' に 'DISTINCT' 修飾子が含まれるかどうか (True | False)。

省略可能

transaction-attribute

このローカル メソッドのトランザクション属性 (NotSupported | Supports | Required | RequiresNew | Mandatory | Never)。指定されない場合、デフォルトのトランザクション属性が使用される。このタグを付けたメソッドが、ローカル クラス上に生成される。

省略可能

weblogic-ejb-ql

デプロイメント記述子のものと同じ、Weblogic EJB クエリ言語 (QL) リクエスト。注意 :このリスエストが必要になる場合、EJB QL と WebLogic EJB QL を二重引用符で囲む必要がある。

省略可能


 

@ejbgen:foreign-jms-provider

使用場所 : クラス

適用対象 : メッセージ駆動型 Bean

属性

説明

必須

provider-url

外部 JMS プロバイダの URL。

必須

connection-factory-jndi-name

接続ファクトリの JNDI 名。

省略可能

initial-context-factory

初期 JNDI コンテキスト ファクトリ。

省略可能


 

@ejbgen:jndi-name

使用場所 :クラス

適用対象 :すべての Bean タイプ

属性

説明

必須

local

この EJB のローカル JNDI 名。指定されない場合、いずれのローカル インタフェースも生成されない。

省略可能

remote

この EJB のリモート JNDI 名。指定されない場合、いずれのリモート インタフェースも生成されない。

省略可能


 

@ejbgen:local-home-method

使用場所 :メソッド

適用対象 :エンティティ Bean、セッション Bean

属性

説明

必須

roles

このメソッドを呼び出すことを許可されているロールのカンマ区切りのリスト。

省略可能

transaction-attribute

このローカル メソッドのトランザクション属性。指定されない場合、デフォルトのトランザクション属性が使用される。このタグを付けたメソッドが、ローカル クラス上に生成される。

省略可能


 

@ejbgen:local-method

使用場所 :メソッド

適用対象 :エンティティ Bean、セッション Bean

属性

説明

必須

is-idempotent

このメソッドが多重呼び出し不変かどうか (True | False)。

省略可能

isolation-level

このメソッドのトランザクション アイソレーションのタイプ。

省略可能

ordering-number

このメソッドが生成されたクラス内に置かれるべき順番 (0..n)。

省略可能

roles

このメソッドを呼び出すことを許可されているロールのカンマ区切りのリスト。

省略可能

transaction-attribute

このローカル メソッドのトランザクション属性 (NotSupported | Supports | Required | RequiresNew | Mandatory | Never)。指定されない場合、デフォルトのトランザクション属性が使用される。このタグを付けたメソッドが、ローカル クラス上に生成される。

省略可能


 

@ejbgen:message-driven

使用場所 :クラス

適用対象 :メッセージ駆動型 Bean

属性

説明

必須

destination-jndi-name

送り先の JNDI 名。

必須

destination-type

JMS 送り先タイプ (javax.jms.Queue | javax.jms.Topic)。

必須

ejb-name

このメッセージ駆動型 Bean の名前。

必須

acknowledge-mode

確認応答モード (auto-acknowledge | dups-ok-acknowledge)。

省略可能

default-transaction

詳細なトランザクション属性を設定しない、すべてのメソッドに適用されるトランザクション属性。

省略可能

durable

destination-type が Topic の場合、この属性を True に設定するとサブスクリプションが恒久になる (True | False)。

省略可能

enable-call-by-reference

コンテナがこの EJB を参照で呼び出すかどうか (True | False)。

省略可能

initial-beans-in-free-pool

フリー プール内の Bean の初期数。

省略可能

max-beans-in-free-pool

フリー プール内の Bean の最大数。

省略可能

message-selector

JMS メッセージ セレクタ。

省略可能

run-as

この EJB のロール名を指定する。

省略可能

run-as-identity-principal

ロールを複数プリンシパルにマップする場合のプリンシパル名を指定する。

省略可能

trans-timeout-seconds

トランザクションのタイムアウト (秒数)。

省略可能

use-caller-identity

この EJB が呼び出し側の ID を使用するかどうか (True | False)。

省略可能


 

@ejbgen:method-isolation-level-pattern

使用場所 :クラス

適用対象 :すべての Bean

属性

説明

必須

isolation-level

パターン タグで指定されるメソッドのアイソレーション レベル。

必須

pattern

このアイソレーション レベルを受け取るすべてのメソッドに一致するパターン ("*" など)。

必須


 

@ejbgen:method-permission-pattern

使用場所 :クラス

適用対象 :すべての Bean

属性

説明

必須

pattern

このアイソレーション レベルを受け取るすべてのメソッドに一致するパターン ("*" など)。

必須

roles

パターン タグで指定されたメソッドのロールのカンマ区切りのリスト。

必須

interface

このパーミッション パターンが適用されるインタフェース (Home | Remote | LocalHome | Local)。

省略可能


 

@ejbgen:relation

使用場所 :クラス

適用対象 :エンティティ Bean

属性

説明

必須

multiplicity

(One | Many)

必須

name

関係の名前。ロールの関係の両端で同じ名前を使用するようにする (一方向でもこの制約が同様に適用される)。

必須

cascade-delete

(True | False)

省略可能

cmr-field

この関係を格納する cmr フィールド。このフィールドは省略可能である。これを指定しない場合、関係は一方向となる。これを指定する場合には、fk-column 属性も合わせて指定する。

省略可能

db-cascade-delete

カスケード削除で、基盤の DBMS に組み込みのカスケード削除機能を使用するかどうか (True | False)。

省略可能

fk-column

少なくとも 1 つの一方向関係のある場合のみ必要になる。一方向以外の EJB では、相手の主キーを保持するカラムを宣言しなければならない。

省略可能

foreign-key-table

foreign-key を含む DBMS テーブルの名前。

省略可能

joint-table

多対多関係のみで必要になる。この関係を含む結合テーブルを格納するのに使用する既存テーブルの名前にすること。複合主キーを使用する場合、これに関わる一連の外部キーをカンマで区切って指定する必要がある。

省略可能

primary-key-table

primary-key を含む DBMS テーブルの名前。

省略可能

role-name

このロールの名前 (たとえば、ParentHasChildren)。指定されない場合、EJBGen が代わりにこれを生成する。関係を継続的に使用しようとする場合には、role-name を指定する必要がある。

省略可能

target-ejb

この関係のターゲット EJB 名。

必須


 

@ejbgen:relationship-caching-element

使用場所 :メソッド

適用対象 :エンティティ Bean

属性

説明

必須

caching-name

期待されるリレーションシップ キャッシングの名前。

必須

cmr-field

CMR フィールド名のカンマ区切りのリスト。

必須

group-name

CMR フィールドに対してロードされるグループ名。

省略可能

id

子がこの要素を親として使用することを許可する ID。「リレーションシップ キャッシング」を参照。

省略可能

parent-id

この要素の親 ID。

省略可能


 

@ejbgen:remote-home-method

使用場所 :メソッド

適用対象 :エンティティ Bean、セッション Bean

属性

説明

必須

roles

このメソッドを呼び出すことを許可されているロールのカンマ区切りのリスト。

省略可能

transaction-attribute

このリモート メソッドのトランザクション属性。指定されない場合、デフォルトのトランザクション属性が使用される。このタグを付けたメソッドが、リモート クラス上に生成される。

省略可能


 

@ejbgen:remote-method

使用場所 :メソッド

適用対象 :エンティティ Bean、セッション Bean

属性

説明

必須

is-idempotent

このメソッドが多重呼び出し不変かどうか (True | False)。

省略可能

isolation-level

このメソッドのトランザクション アイソレーションのタイプ。

省略可能

ordering-number

このメソッドが生成されたクラス内に置かれるべき順番 (0..n)。

省略可能

roles

このメソッドを呼び出すことを許可されているロールのカンマ区切りのリスト。

省略可能

transaction-attribute

このローカル メソッドのトランザクション属性 (NotSupported | Supports | Required | RequiresNew | Mandatory | Never)。指定されない場合、デフォルトのトランザクション属性が使用される。このタグを付けたメソッドが、ローカル クラス上に生成される。

省略可能


 

@ejbgen:resource-env-ref

使用場所 :クラス

適用対象 :すべての Bean タイプ

属性

説明

必須

name

リソース環境参照の名前。

必須

type

リソース環境参照のタイプ (javax.jms.Queue など)

必須

jndi-name

リソースの JNDI 名。

省略可能


 

@ejbgen:resource-ref

使用場所 :クラス

適用対象 :すべての Bean タイプ

l

属性

説明

必須

auth

(Application | Container)

必須

jndi-name

リソースの JNDI 名。

必須

name

リソース名。

必須

type

リソースのタイプ (javax.sql.DataSource など)。

必須

sharing-scope

(Shareable | Unshareable)

省略可能


 

@ejbgen:role-mapping

使用場所 :クラス

適用対象 :すべての Bean タイプ

属性

説明

必須

global-role

このロールがグローバルの場合は True (True | False)。

省略可能

principals

このロールのプリンシパル名 (カンマで区切る)。

省略可能

role-name

ロール名。

必須


 

@ejbgen:security-role-ref

使用場所 :メソッド

適用対象 :エンティティ Bean、セッション Bean

属性

説明

必須

role-name

セキュリティ ロール名。

必須

role-link

定義されたセキュリティ ロールへの参照。

省略可能


 

@ejbgen:select

使用場所 :メソッド

適用対象 :エンティティ Bean

属性

説明

必須

caching-name

期待されるリレーションシップ キャッシングの名前。

省略可能

ejb-ql

この選択メソッドを定義する EJB-QL。

メソッド名を ejbSelect から始めること。

必須

group-name

クエリのグループの名前。

省略可能

include-updates

現在のトランザクション中の更新を必ずクエリの結果に反映するかどうか (True | False)。

省略可能

max-elements

多値クエリによって返される要素の最大数。

省略可能

ordering-number

このメソッドが生成されたクラス内に置かれるべき順番 (0..n)。

省略可能

result-type-mapping

返されたオブジェクトを EJBLocalObject または EJBObject にマップするかどうか (Remote | Local)。

省略可能

weblogic-ejb-ql

デプロイメント記述子のものと同じ、Weblogic EJB QL リクエスト。

注意: このリスエストが必要になる場合、EJB QL と WebLogic EJB QL を二重引用符で囲む必要がある。

省略可能


 

@ejbgen:session

使用場所 :クラス

適用対象 : セッション Bean

属性

説明

必須

allow-concurrent-calls

この EJB に対し同時呼び出しを許可するかどうか (True | False)。

省略可能

bean-load-algorithm

この Bean のレプリカ間でロード バランシングを行うためのアルゴリズム。

省略可能

ejb-name

このセッション Bean の名前。

必須

call-router-class-name

ホーム メソッド呼び出しのルーティングに使用するクラス名。

省略可能

default-transaction

詳細なトランザクション属性を設定しない、すべてのメソッドに適用されるトランザクション属性。

省略可能

dispatch-policy

Bean の JMS ディスパッチ ポリシー キュー

省略可能

enable-call-by-reference

コンテナがこの EJB を参照で呼び出すかどうか (True | False)。

省略可能

home-call-router-class-name

ホーム メソッド呼び出しのルーティングに使用するクラス。

省略可能

home-is-clusterable

この Bean をクラスタ内の複数のサーバにデプロイできるかどうか (True | False)。

省略可能

home-load-algorithm

このホームのレプリカ間でロード バランシングを行うためのアルゴリズム (RoundRobin | Random | WeightBased)。

省略可能

idle-timeout-seconds

ある EJB がキャッシュ内に置かれる最長の時間。

省略可能

initial-beans-in-free-pool

フリー プール内の Bean の初期数。

省略可能

is-clusterable

この Bean がクラスタ対応かどうか (True | False)。

省略可能

load-algorithm

このホームのレプリカ間でバランシングを行うためのアルゴリズム (RoundRobin|Random | WeightBased)。

省略可能

max-beans-in-cache

キャッシュ内の Bean の最大数。

省略可能

max-beans-in-free-pool

フリー プール内の Bean の最大数。

省略可能

methods-are-idempotent

このステートレス セッション Bean のメソッドが多重呼び出し不変であるかどうか (True | False)。

省略可能

persistent-store-dir

パッシベーションされた Bean が格納されるディレクトリ。

省略可能

replication-type

クラスタ内でステートフル セッション Bean をレプリケートする方法 (InMemory | None)。

省略可能

run-as

この EJB の role-name を指定する。

省略可能

run-as-identity-principal

ロールを複数プリンシパルにマップする場合のプリンシパル名を指定する。

省略可能

trans-timeout-seconds

トランザクション タイムアウトの秒数。

省略可能

transaction-type

この EJB のトランザクションが Bean 管理であるかコンテナ管理であるか (Bean | Container)。

省略可能

type

セッション Bean のタイプ (Stateless | Stateful)。この属性が指定されない場合、EJBGen は各自のクラスの ejbCreate() メソッドを調べることによってこのタイプを正確に推測する。

省略可能

use-caller-identity

この EJB が呼び出し側の ID を使用するかどうか (True | False)。

省略可能


 

@ejbgen:value-object

使用場所 :クラス

適用対象 :すべての Bean タイプ

属性

説明

必須

reference

他の EJB のクラスにアクセスする時に、Value オブジェクト クラスがどのオブジェクトを参照すべきかを指定する (Local | Value)。

必須


 

ファイル生成の制御

デフォルトでは、EJBGen は次のファイルを生成します。

これらのファイルの生成は、@ejbgen:file-generation を使用して選択的に無効化できます。これは、Bean ごとに実行できます。次のコード サンプルでは、値クラスが生成されないようにしています。

/**
 * @ejbgen:file-generation
 *   value-class = False
 */

注意: コマンドライン オプション -noValueClasses -noRemoteInterfaces、または -noLocalInterfaces は、Bean で見つかったすべてのタグをオーバーライドします。

未コンパイルの値タイプ クラスによる Javadoc 警告

EJBGen クラスに、未コンパイルの Java クラスである値タイプ (パラメータ値、戻り値など) が含まれる場合、Javadoc は図 10-1 に示すように javac コンパイル エラーのようなものを出力します。

図10-1 値タイプ クラスが未コンパイルの場合の Javadoc 出力サンプル

[javadoc]
C:¥toddk¥dev¥issues¥cr100528¥src¥test¥po¥PurchaseOrderBean.java:29: cannot resolve symbol [javadoc] symbol : class PurchaseOrder [javadoc] location: class test.po.PurchaseOrderBean [javadoc] public boolean submitPO(PurchaseOrder po) throws SubmitException {
[javadoc]
[javadoc] C:¥toddk¥dev¥issues¥cr100528¥src¥test¥po¥PurchaseOrderBean.java:29: cannot resolve symbol [javadoc] symbol : class SubmitException [javadoc] location: class test.po.PurchaseOrderBean [javadoc] public boolean submitPO(PurchaseOrder po) throws SubmitException {

これらは、Javadoc 警告であって、エラーではありません。エラー メッセージと javac コンパイラ エラーが似通っているため、エラーとして誤って解釈しやすくなっています。Javadoc は、正常に実行されたことを示す終了ステータスと共に返るので、Ant EJBGen タスクが構築失敗の原因となることはありません。

複数テーブルへのエンティティ Bean のマッピング

デフォルトでは、エンティティ Bean はタグ @ejbgen:entity に属性 table-name を指定して 1 つのテーブルにマップされます。エンティティ Bean を複数のテーブルにマップする場合には、個々の @ejbgen:cmp-fieldstable-name 属性を使用できます。table-name 属性のないコンテナ管理による永続性フィールドはすべて、@ejbgen:entity で指定したテーブルを使用します (したがって、これを「デフォルト」テーブルと考えることができます)。

エンティティ Bean を複数のテーブルにマップする場合、table-name 属性において (およびカラム上で) カンマ区切りのテーブル リストを指定する必要があります。次に例を示します。

テーブル数とカラム数が一致しており、カラムが対応するテーブル内に存在することを確認してください。

プロパティ ファイル

EJBGen は、この節で説明するように、プロパティ ファイルから生成のための情報を収集できます。

EJBGen にプロパティ ファイルの解析を指示するには、-propertyFile オプションを使用します。図 10-2 は、サンプルのプロパティ ファイルを示します。

図10-2 EJBGen プロパティ ファイルのサンプル

# property-file
#
remote-jndi-name = Account

-propertyFile オプションを指定して EJBGen を呼び出すには、次の構文を使用します。

javadoc -docletpath ejbgen.jar -doclet EJBGen -propertyFile property-file AccountBean.java

EJBGen は、プロパティ ファイル内にユーザ変数およびあらかじめ定義された変数という、2 種類の変数を認識します。

ユーザ変数

EJBGen タグでは、文字列の代わりに変数を使用できます。これらの変数は図 10-3 に示すように、"${" と "}" で囲む必要があります。

図10-3 文字列の代わりのユーザ変数

@ejbgen:jndi-name
remote = ${remote-jndi-name}

変数は、EJBGen タグの後であればどこででも使用できます。したがって、図 10-4 に示すようにタグ定義全体を含めることができます。

図10-4 タグ定義全体としてのユーザ変数

@ejbgen:jndi-name
  ${jndi-name-tag}
#
#
# property-file
#
jndi-name-tag = remote = RemoteAccount local = LocalAccount


 

あらかじめ定義された変数

EJBGen は、いくつかのあらかじめ定義された変数を認識します。これらの変数はタグでは使用しないことになっていますが、EJBGen ではロールに応じてさまざまな場所で使用します。以下に、認識される変数を示します。

これらの変数は、EJBName をプレフィックスとすることでより特定的にできます。たとえば、次のようなプロパティ ファイルの場合を考えます。

#
# property-file
#
Account.home.baseClass = BaseAccountHome
home.baseClass = BaseHome
value.package = value
containerManaged.value.package=valuePackageForContainerManaged

リレーションシップ キャッシング

@ejbgen:relationship-caching タグを使用して、リレーションシップ キャッシング要素を指定できます。この XML 要素は、ネストできます (再帰的)。つまり、キャッシュしたいリレーションシップ要素をすべて表す、ツリーを指定できます。

このツリー構造をサポートするため、@ejbgen:relationship-caching には id および parent-id という 2 つの属性があります。これらの属性はどの XML にも対応しません。単に、これらを使うとツリー構造が指定できるというだけです。

たとえば、キャッシング要素 A に子要素 B および C が必要な場合、A のための id (たとえば「root0」) と、その名前に等しい B および C の parent-id を指定するだけですみます。

図 10-5 で、リレーションシップ キャッシングの指定を説明します。

図10-5 リレーションシップ キャッシングの指定

* @ejbgen:relationship-caching-element
 *   caching-name = cacheMoreBeans
 *   cmr-field = employee
 *   group-name = emp-group
 *   id = A
 * 
 * @ejbgen:relationship-caching-element
 *   caching-name = cacheMoreBeans
 *   cmr-field = employee_ssn
 *   group-name = emp-group
 *   parent-id = A
 * 
 * @ejbgen:relationship-caching-element
 *   caching-name = cacheMoreBeans
 *   cmr-field = employee_zip
 *   group-name = emp-group
 *   parent-id = A

関係

一方向の関係は、関係タグの最初の 2 つのパラメータのみ (CMR_field や joint table はなし) を指定することで実現します。

多対多の関係では、少なくとも 2 つのカラムを含む、追加のテーブル (パラメータ「joint table」) を指定する必要があります。これらのカラムの名前は、結合される 2 つの Bean の外部キーを含むカラムの名前に一致している必要があります。

ローカル インタフェースを使用するように関係を更新する

PFD2 より前に公開された EJB 2.0 仕様のバージョンに基づく EJB を使用している場合は、更新が必要です。PFD2 では、関係はリモート インタフェースではなく、ローカル インタフェースに基づいている必要があります。EJB のアップグレードを行うために必要な手順は次のとおりです。

  1. ローカル ホーム インタフェースの JNDI 名を追加します。

    @ejbgen:jndi-name

    remote = AccountHome

    local = AccountLocalHome

  2. ローカル ホーム インタフェース上に置きたいすべてのメソッドに @ejbgen:local-method タグを追加します。1 つのメソッドが @ejbgen:local-method@ejbgen:remote-method の両方を持つことが可能です。
  3. コンテナ管理の関係 (CMR) アクセス メソッドの戻り値の型を、EJB オブジェクトの戻り値の型に変更します(複数の値を持つ CMR フィールドは集合なので、これは単一の値を持つ CMR フィールドのみに適用されます。これらの集合にローカル EJB オブジェクトが含まれることに留意してください)。

    /**

    * @ejbgen:cmr-field

    *

    * @ejbgen:remote-method

    * @ejbgen:local-method

    */

    abstract public LocalCustomer getCustomer();

タグの継承

EJBGen 2.0 の主要な機能の 1 つに、タグの継承があります。EJBGen の注釈は、Java での場合と同じようにして継承されます。たとえば、図 10-6 に示すように基本クラス BaseAccountAccountEJB という名前が付けられた EJB があるとします。

図10-6 タグの継承

/**
 * @ejbgen:jndi-name
 *     remote="BaseRemote"
 */
public class BaseAccount implements EntityBean {
  // ...
}

ここで、EJB クラスを定義します。

/**
 * @ejbgen:entity
 *   ejb-name = containerManaged
 *   table-name = ejbAccounts
 *   data-source-name = examples-dataSource-demoPool
 *
 *  Note that we inherit the JNDI name defined in BaseAccount
 */
public class AccountEJB extends BaseAccount {
  // ...

属性の継承

属性も継承できます。これは、多くの用途が考えられる、極めて強力な機能です。たとえば、図 10-7 で示すように、すべての EJB に max-beans-in-cache などの共通の設定を定義できます。

図10-7 属性の継承

\


 
/**
 * @ejbgen:entity
 *    max-beans-in-cache = 300
 */
public class BaseAccount implements EntityBean {
  // ...
}

この後、次のようにエンティティ Bean を定義します。

/**
 * @ejbgen:entity
 *   ejb-name = containerManaged
 *   table-name = ejbAccounts
 *   data-source-name = examples-dataSource-demoPool
 *
 *   // 属性 max-beans-in-cache = 300 を自動的に継承
 */
public class AccountEJB extends BaseAccount {
  // ...

もちろん、継承した値を修正することも可能です。たとえば、特定の Bean について、max-beans-in-cache のデフォルト値を 300 から 400 に変更できます。

/**
 * @ejbgen:entity
 *   ejb-name = containerManaged
 *   table-name = ejbAccounts
 *   data-source-name = examples-dataSource-demoPool
 *   max-beans-in-cache = 400
 *
 *   // 上の設定で基本クラスの定義内容がオーバーライドされる
 */
public class AccountEJB extends BaseAccount {
  // ...

 


Ant タスク

スケルトン デプロイメント記述子を作成するときに、WebLogic Ant ユーティリティを使用できます。Ant ユーティリティは WebLogic Server 配布キットと共に出荷されている Java クラスです。Ant タスクによって、EJB を含むディレクトリが調べられ、そこに置かれているファイルを基にデプロイメント記述子が作成されます。Ant ユーティリティは、個別の EJB に必要なコンフィグレーションやマッピングに関する情報をすべて備えているわけではないので、Ant ユーティリティによって作成されるスケルトン デプロイメント記述子は不完全なものです。Ant ユーティリティでスケルトン デプロイメント記述子を作成した後で、テキスト エディタ、XML エディタ、または Administration Console を使ってデプロイメント記述子を編集し、EJB のコンフィグレーションを完全なものにしてください。

Ant ユーティリティを使用してのデプロイメント記述子の作成については、『WebLogic Server アプリケーションのデプロイメント』の「デプロイ用ツール」を参照してください。

 


appc

appc コンパイラは、EJB および JSP を WebLogic Server にデプロイするのに必要なクラスを生成し、コンパイルします。また、個別のモジュール レベルとアプリケーション レベルの両方で、現在の仕様に準拠しているかどうかデプロイメント記述子を検証します。アプリケーション レベルのチェックでは、個別のモジュールに対するアプリケーション レベルのデプロイメント記述子のチェックと、モジュール全体の検証チェックが行われます。

appc の構文

appc の実行には、次の構文を使用します。

prompt>java weblogic.appc [options] <ear, jar, or war file or directory>

appc Options

利用できる appc オプションは次のとおりです。

オプション

説明

-print

標準の使い方メッセージを出力する。

-version

appc のバージョン情報を出力する。

-output <file>

代替的な出力アーカイブまたはディレクトリを指定する。これが設定されていないと、出力はソース アーカイブまたはディレクトリに置かれる。

-forceGeneration

EJB および JSP クラスを強制的に生成する。このフラグを使用しない場合、クラスが再生成されないことがある (必要ないと判断された場合)。

-lineNumbers

生成されたクラス ファイルに行番号を追加し、デバッグを支援する。

-basicClientJar

EJB 用に生成されたクライアント JAR のデプロイメント記述子を含まない。

-idl

EJB リモート インタフェース用の IDL を生成する。

-idlOverwrite

既存の IDL ファイルを常に上書きする。

-idlVerbose

IDL 生成についての詳細な情報を表示する。

-idlNoValueTypes

値タイプ、およびそれを含むメソッドと属性を生成しない。

-idlNoAbstractInterfaces

抽象インタフェース、およびそれを含むメソッドと属性を生成しない。

-idlFactories

値タイプ用にファクトリ メソッドを生成する。

-idlVisibroker

Visibroker 4.5 C++ と多少の互換性を持つ IDL を生成する。

-idlOrbix

Orbix 2000 2.0 C++ と多少の互換性を持つ IDL を生成する。

-idlDirectory <dir>

IDL ファイルを作成するディレクトリを指定する (デフォルトでは、対象ディレクトリまたは JAR)。

-idlMethodSignatures <>

IDL コードを生成するトリガとして使用されるメソッド シグネチャを指定する。

-iiop

EJB 用に CORBA のスタブを生成する。

-iiopDirectory <dir>

IIOP のスタブ ファイルを記述するディレクトリを指定する (デフォルトでは、対象ディレクトリまたは JAR)。

-keepgenerated

生成された .java ファイルを保持する。

-compiler <javac>

使用する Java コンパイラを選択する。

-g

デバッグ情報をクラス ファイルにコンパイルする。

-O

最適化を有効にしてコンパイルする。

-nowarn

警告なしでコンパイルする。

-verbose

冗長情報を出力してコンパイルする。

-deprecation

非推奨となった呼び出しについて警告する。

-normi

Symantec の sj にフラグを渡す。

-J<option>

Java 実行時にフラグを渡す。

-classpath <path>

コンパイル中に使用するクラスパスを選択する。

-advanced

高度な使用オプションを出力する。

-convertDD

デプロイメント記述子を最新バージョンに更新しようとする。


 

wlappc Ant タスク

appc コンパイラの呼び出しには、次の Ant タスクを使用できます。

<taskdef name="wlappc" classname="weblogic.ant.taskdefs.j2ee.Appc"/>

appc および EJB

weblogic.appc は、以下の EJB 関連機能を実行します。

appc は、デフォルトで javac をコンパイラとして使用します。パフォーマンスを向上させるには、コマンドライン -compiler フラグまたは Administration Console を使用して別のコンパイラ (Symantec の sj など) を指定します。「[コンパイラ オプション] のコンフィグレーション」を参照してください。

weblogic-ejb-jar.xml のパブリック バージョンの場所については、「weblogic-ejb-jar.xml デプロイメント記述子」を参照してください。weblogic-cmp-rdbms-jar.xml のパブリック バージョンの場所については、「weblogic-cmp-rdbms-jar.xml デプロイメント記述子」を参照してください。

appc の利点

appc ツールの利点は以下のとおりです。

 


Builder

WebLogic Builder は、J2EE アプリケーション モジュールを作成し、そのデプロイメント記述子を作成および編集して、それを WebLogic Server インスタンスにデプロイするためのグラフィカル ツールです。

WebLogic Builder には、アプリケーションのデプロイメント記述子 XML ファイルを編集するためのビジュアル編集環境が用意されています。WebLogic Builder では、これらの XML ファイルをビジュアルに編集しながら参照できるので、テキストによる編集は必要ありません。

WebLogic Builder では、次の開発タスクを行うことができます。

WebLogic Builder は、WebLogic Builder のマニュアルで詳細に説明されています。特に「EJB の処理」という節が有用でしょう。

 


DDConverter

DDConverter は、以前のバージョンの EJB デプロイメント記述子を本バージョンの WebLogic Server に準拠した EJB デプロイメント記述子に変換するコマンド ライン ツールです。WebLogic Server EJB コンテナは、EJB 1.1 および EJB 2.0 文書型定義 (DTD) を含む EJB 1.1 および EJB 2.0 仕様をサポートしています。各 WebLogic Server EJB デプロイメントには、以下のファイルの標準デプロイメント記述子が含まれています。

DDConverter の変換オプション

DDConverter コマンドライン ツールには、次の変換オプションがあります。

次の表は、DDconverter ツールの各種変換オプションのリストです。

表10-1

DDConverter ツールの変換オプション

WebLogic Server

CMP 以外のEJB

EJB CMP

変換前 変換後

変換前 変換後

変換前 変換後

WebLogic Server 4.5 - WebLogic Server 8.1

注意 1 参照

EJB CMP 1.0 - EJB CMP 1.1

注意: EJB CMP 1.0 を EJB CMP 1.1 に変換する際には、DDConverter のコマンドライン オプション -EJBVer を使用します。このオプションの内容については、「DDConverter のオプション」を参照してください。

WebLogic Server 4.5 - WebLogic Server 8.1

EJB 1.1 - EJB 2.0

EJB CMP 1.0 - EJB CMP 2.0

WebLogic Server 5.x - WebLogic Server 8.1

EJB 1.1 - EJB 2.0

注意: WebLogic Server 5.x CMP 1.1 Bean と WebLogic Server 8.1 CMP 1.1 Bean は異なるものですが、WebLogic Server 5.1 CMP 1.1 Bean はソースコードを変更することなく WebLogic Server 8.1 上で動きます。

WebLogic Server 6.x - WebLogic Server 8.1

EJB 1.1 - EJB 2.0

EJB CMP 1.1 - EJB CMP 2.0

WebLogic Server 7.0 - WebLogic Server 8.1

EJB 1.1 - EJB 2.0

EJB CMP 1.1 - EJB CMP 2.0


 

注意: EJB 1.0 の非 CMP を EJB 1.1 の非 CMP に変換する必要はありません。 非CMP EJB 1.1 のデプロイメント記述子は、非 CMP EJB 2.0 のデプロイメント記述子と同じだからです。

DDConverter を使用した後は必ず Bean を再コンパイルします。weblogic.ejbc を使用し、改めて生成した JAR ファイルをデプロイすることをお勧めします。Bean を再コンパイルすることにより、そのコードが確実に EJB 仕様に準拠するようになり、また、サーバ起動時の再コンパイル処理を省略できるので時間を短縮できます。

DDConverter による EJB の変換

WebLogic Server で使用するために以前のバージョンの EJB を変換するには、次の手順に従います。

  1. 「DDConverter の構文」に示したコマンド ライン形式に従って、EJB のデプロイメント記述子を DDConverter に入力します。

    JAR ファイルが出力されます。

  2. その JAR ファイルから XML デプロイメント記述子を抽出します。
  3. JavaSoft EJB 仕様に従って、ソースコードを変更します。
  4. weblogic.appc を使用して JAR ファイルを作成し、抽出した XML デプロイメント記述子とともに変更済みの Java ファイルをコンパイルします。
  5. JAR ファイルをデプロイします。

DDConverter の構文

prompt> java weblogic.ejb20.utils.DDConverter [options] file1 [file2...]

DDConverter の引数

DDConverter は、file1 [file2...] といった引数をとります。このファイルは次のどちらかになります。

DDConverter は、テキスト デプロイメント記述子の EJB の beanHomeName プロパティを使用して、新規の ejb-name 要素を出力される ejb-jar.xml ファイルで定義します。

DDConverter のオプション

次の表は、DDConverter のコマンドライン オプションのリストです。

オプション

説明

-d destDir

JAR ファイルが出力される送り先ディレクトリを指定する。

このオプションは必須。

-c jar name

ソース ファイルのすべての Bean を組み合わせる JAR ファイルを指定する。

-EJBVer output EJB version

2.0 または 1.1 などの出力 EJB バージョン番号を指定する。デフォルトは 2.0。

-log log file

ddconverter.log の代わりにログ情報の格納先となるファイルを指定する。

-verboseLog

変換に関して ddconverter.log に格納する補足情報を指定する。

-help

DDConverter ツールで使用可能なすべてのオプションのリストを出力する。


 

DDConverter の例

次の例では、WebLogic Server 5.x EJB 1.1 Bean を WebLogic Server 8.1 EJB 2.0 Bean に変換します。(サブディレクトリ destDir に JAR ファイルが作成されます)。

prompt> java weblogic.ejb20.utils.DDConverter -d destDir Employee.jar

ここでは、Employee Bean が WebLogic Server 5.x EJB 1.1 JAR ファイルです。

 


DDInit

DDInit は、ステージング ディレクトリのコンテンツをテストし、EJB クラスに基づいて標準 J2EE と WebLogic 固有のデプロイメント記述子を生成します。

DDInit Ant タスク

weblogic.ant.taskdefs.ejb20.DDInit は、エンタープライズ JavaBean 2.0 のデプロイメント記述子を作成します。

weblogic.ant.taskdefs.ejb.DDInit は、エンタープライズ JavaBean 1.1 のデプロイメント記述子を作成します。

 


Deployer

weblogic.Deployer コマンドライン ツールは、WebLogic Server デプロイメント API にコマンドライン インタフェースを提供する、Java ベースの開発ツールです。このツールは、コマンドライン、シェル スクリプト、または Java 以外の自動化された環境からデプロイメントを開始する必要がある管理者および開発者向けに開発されました。

weblogic.Deployer の使い方とコマンド リストについては、「Deploying Using weblogic.Deployer」を参照してください。

 


ejbc

注意: ejbc は非推奨です。代わりに appc を使用してください。「appc」を参照してください。

EJB コンテナ クラスの生成とコンパイルには、weblogic.ejbc ツールを使用します。EJB コンテナにデプロイするために JAR ファイルをコンパイルする場合は、weblogic.ejbc を使用して、コンテナ クラスを生成する必要があります。

weblogic.ejbc では次の処理を実行します。

注意: ejbc は、JAR ファイルおよび展開ディレクトリの両方を入力として受け付けます。

出力 JAR ファイルを指定すると、ejbc は、生成するファイルをすべて JAR ファイルに入れます。

ejbc は、デフォルトで javac をコンパイラとして使用します。パフォーマンスを向上させるには、-compiler フラグまたは Administration Console を使用して別のコンパイラ (Symantec の sj など) を指定します。「[コンパイラ オプション] のコンフィグレーション」を参照してください。

WebLogic 固有の XML デプロイメント記述子ファイルの複数バージョンが Web サイト上で公開され利用可能ですが、weblogic.ejbc で使用される内部バージョンは製品に同梱されています。

weblogic-ejb-jar.xml および weblogic-cmp-rdbms-jar.xml のパブリック バージョンの場所については、「文書型定義および DOCTYPE ヘッダ情報」を参照してください。

ejbc の利点

ejbc ツールの利点は以下のとおりです。

ejbc の構文

prompt> java weblogic.ejbc [options] <source directory or jar file>
	<target directory or jar file>

注意: 出力先が JAR ファイルの場合、出力 JAR には入力 JAR と異なる名前を付けなければなりません。

ejbc の引数

引数

説明

<source directory or jar file>

コンパイル済み EJB クラス、インタフェース、および XML デプロイメント ファイルを格納する展開ソース ディレクトリまたは JAR ファイルを指定する。

<target directory or jar file>

ejbc が出力 JAR を格納する送り先 JAR ファイルまたはデプロイメント ディレクトリを指定する。出力 JAR ファイルを指定した場合、ejbc は元の EJB クラス、インタフェース、および XML デプロイメント ファイルだけでなく、ejbc が生成する新規コンテナ クラスも JAR に格納する。



 

ejbc のオプション

オプション

説明

-help

コンパイラで使用可能なすべてのオプションのリストを出力する。

-version

ejbc のバージョン情報を出力する。

-basicClientJar

EJB 用に生成されたクライアント JAR のデプロイメント記述子を含まない。

-dispatchPolicy <queueName>

WebLogic Server で実行スレッドを取得するために EJB が使用するコンフィグレーション済み実行キューを指定する。詳細については、「実行キューによるスレッド使用の制御」を参照。

-forceGeneration

EJB クラスを強制的に生成する。このフラグを使用しない場合、クラスが再生成されないことがある (必要ないと判断された場合)。

-idl

リモート インタフェース用に CORBA インタフェース定義言語 (IDL) を生成する。

-idlNoValueTypes

値タイプ、およびそれを含むメソッドと属性を生成しない。

-idlFactories

値タイプ用にファクトリ メソッドを生成する。

-idlVisibroker

Visibroker 4.5 C++ と多少の互換性を持つ IDL を生成する。

-idlOrbix

Orbix 2000 2.0 C++ と多少の互換性を持つ IDL を生成する。

-idlOverwrite

既存の IDL ファイルを上書きする。

-idlVerbose

IDL の生成中に verbose 情報を表示する。

-idlDirectory <dir>

ejbc が IDL ファイルを生成するディレクトリを指定する。デフォルトでは、ejbc はカレント ディレクトリを使用する。

-idlMethodSignatures <>

IDL コードを生成するトリガとして使用されるメソッド シグネチャを指定する。

-iiop

EJB 用に CORBA のスタブを生成する。

-iiopDirectory <dir>

IIOP のスタブ ファイルを記述するディレクトリを指定する (デフォルトでは、対象ディレクトリまたは JAR)°

-J

weblogic.ejbc のヒープ サイズを指定する。次のように指定する。
java weblogic.ejbc -J-mx256m input.jar output.jar

-keepgenerated

コンパイル中に生成される中間 Java ファイルを保存する。

-compiler <compiler name>

使用する ejbc のコンパイラを設定する。

-normi

RMI スタブの生成を中止する場合に Symantec の Java コンパイラ sj に渡される。それ以外の場合、sj は EJB には不必要な独自の RMI スタブを作成する。

-classpath <path>

コンパイル時に使用する CLASSPATH を設定する。これにより、システムまたはシェル CLASSPATH はオーバーライドされる。

-convertDD

デプロイメント記述子を最新バージョンに更新しようとする。



 

ejbc の例

次の例では、c:¥%SAMPLES_HOME%¥server¥examples¥src¥examples¥ejb20¥basic¥containerManaged¥build 内の入力 JAR ファイルに対して javac コンパイラを使用します。出力 JAR ファイルは、c:¥%SAMPLES_HOME%¥server¥config¥examples¥applications 内に置かれます。

prompt> java weblogic.ejbc -compiler javac c:¥%SAMPLES_HOME%¥server¥examples¥src¥examples¥ejb20¥basic¥containerManaged¥build¥ejb20_basic_containerManaged.jar c:%SAMPLES_HOME%¥server¥config¥examples¥ejb_basic_containerManaged.jar

次の例では、JAR ファイルが EJB 1.1 仕様に準拠しているかどうかをチェックして、WebLogic Server コンテナ クラスを生成しますが、RMI スタブは生成しません。

prompt> java weblogic.ejbc -normi c:%SAMPLES_HOME%¥server¥src¥examples¥ejb20¥basic¥containerManaged¥build¥ejb20_basic_containerManaged.jar

 

 Back to Top Previous Next