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

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

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

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

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

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

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

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

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

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

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

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

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


●注意事項

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

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