17.6.3 サーバ管理コマンドを使用した定義の参照と更新
アノテーションで定義した要素は,サーバ管理コマンドのcjgetapppropコマンドまたはcjgetrespropコマンドを使用して参照できます。また,一部の定義はcjsetapppropコマンドまたはcjsetrespropコマンドを使用して更新できます。
(1) アノテーションで定義した要素を参照・更新した場合の動作
サーバ管理コマンドを使用してアノテーションで定義した要素を参照・更新した場合の動作について次の表に示します。動作は,DDがある場合とない場合で異なります。
要素の種類 |
cjgetapppropまたはcjgetrespropによる参照 |
cjsetapppropまたはcjsetrespropによる更新 |
|
---|---|---|---|
DDがある場合 |
DDで定義した要素 |
DDで定義した内容が出力されます。 |
DDの内容が更新されます。 |
アノテーションで定義した要素 |
アノテーションで定義した内容が出力されます。 |
更新はできません。 |
|
アノテーションの定義をDDで上書きした要素 |
アノテーションとDDの定義をマージした結果が出力されます。 |
「(2) サーバ管理コマンドによる定義の更新」を参照してください。 |
|
DDがない場合 |
アノテーションで定義した要素 |
アノテーションで定義した内容が出力されます。 |
更新はできません。 |
(2) サーバ管理コマンドによる定義の更新
cjsetapppropコマンドまたはcjsetrespropコマンドを使用してアノテーションで定義した属性を上書き更新できるかどうかは,更新する情報がどこに定義されているかによって異なります。
定義されている場所と上書き可否の対応を次の表に示します。
定義されている場所 |
上書き可否 |
---|---|
DDだけに定義されている要素 |
可 |
アノテーションだけに定義されている要素 |
不可 |
アノテーションの定義をDDで上書きされている要素 |
可※ |
-
注意事項
アノテーションの定義をDDで上書きした要素を,cjsetapppropコマンドまたはcjsetrespropコマンドを使用して上書き更新した場合,アプリケーションディレクトリ内のDDにはDDとアノテーションの情報がマージされて出力されます。この場合,アノテーションで定義した内容がDDに反映されるため,それ以降にクラスファイル内のアノテーションを変更したときは,DDに残っている定義が優先されて変更したアノテーションの定義は有効になりません。
このような場合,DDに反映されているアノテーションの定義を削除して,アプリケーションを再インポートすることでアノテーションの定義が有効になります。また,属性ファイルで定義を追加,変更した場合は,アプリケーションを再インポートする必要はありません。