Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)

[目次][用語][索引][前へ][次へ]

12.6.3 サーバ管理コマンドを使用した定義の参照と更新

アノテーションで定義した要素は,サーバ管理コマンドのcjgetapppropコマンドまたはcjgetrespropコマンドを使用して参照できます。また,一部の定義はcjsetapppropコマンドまたはcjsetrespropコマンドを使用して更新できます。

<この項の構成>
(1) アノテーションで定義した要素を参照・更新した場合の動作
(2) サーバ管理コマンドによる定義の更新

(1) アノテーションで定義した要素を参照・更新した場合の動作

サーバ管理コマンドを使用してアノテーションで定義した要素を参照・更新した場合の動作について次の表に示します。動作は,DDがある場合とない場合で異なります。

表12-17 サーバ管理コマンドを使用してアノテーションで定義した要素を参照・更新した場合の動作

要素の種類 cjgetapppropまたはcjgetrespropによる参照 cjsetapppropまたはcjsetrespropによる更新
DDがある場合 DDで定義した要素 DDで定義した内容が出力されます。 DDの内容が更新されます。
アノテーションで定義した要素 アノテーションで定義した内容が出力されます。 更新はできません。
アノテーションの定義をDDで上書きした要素 アノテーションとDDの定義をマージした結果が出力されます。 「(2) サーバ管理コマンドによる定義の更新」を参照してください。
DDがない場合 アノテーションで定義した要素 アノテーションで定義した内容が出力されます。 更新はできません。

(2) サーバ管理コマンドによる定義の更新

cjsetapppropコマンドまたはcjsetrespropコマンドを使用してアノテーションで定義した属性を上書き更新できるかどうかは,更新する情報がどこに定義されているかによって異なります。

定義されている場所と上書き可否の対応を次の表に示します。

表12-18 定義されている場所と上書き可否の対応

定義されている場所 上書き可否
DDだけに定義されている要素
アノテーションだけに定義されている要素 不可
アノテーションの定義をDDで上書きされている要素

注※ 更新後にアプリケーションをエクスポートした場合,エクスポートしたアプリケーションに含まれるWARファイル内のDD(web.xml)に,アノテーションとDDで定義した内容がマージされて出力されます。展開ディレクトリ形式のアプリケーションの場合は,<WARディレクトリ>/WEB-INF/web.xmlに,アノテーションとDDで定義した内容がマージされて出力されます。


●注意事項

アノテーションの定義をDDで上書きした要素を,cjsetapppropコマンドまたはcjsetrespropコマンドを使用して上書き更新した場合,アプリケーションディレクトリ内のDDにはDDとアノテーションの情報がマージされて出力されます。この場合,アノテーションで定義した内容がDDに反映されるため,それ以降にクラスファイル内のアノテーションを変更したときは,DDに残っている定義が優先されて変更したアノテーションの定義は有効になりません。

このような場合,DDに反映されているアノテーションの定義を削除して,アプリケーションを再インポートすることでアノテーションの定義が有効になります。また,属性ファイルで定義を追加,変更した場合は,アプリケーションを再インポートする必要はありません。