11.5.2 アノテーションを参照するタイミング

アノテーションを参照するタイミングを,アプリケーション参照抑止機能を使用する場合としない場合に分けて次の表に示します。なお,J2EEサーバ単位,モジュール単位どちらの参照抑止機能でも,アノテーションを参照するタイミングは同じです。

表11-13 アノテーションを参照するタイミング

タイミング
(実行したコマンド)
参照抑止機能の設定アプリケーションの形式
アーカイブ形式展開ディレクトリ形式
インポート時(cjimportapp)使用する××
使用しない
インポート時(cjimportres※1使用する×
使用しない
開始時(cjstartapp※2使用する××
使用しない※3
リプレース時(cjreplaceapp)使用する×
使用しない
リロード時(cjreloadapp)使用する×
使用しない
属性取得時
(cjgetappprop)
使用する××
使用しない××
属性設定時
(cjsetappprop)
使用する××
使用しない××
(凡例)
使用しない:アプリケーション参照抑止機能を使用しない設定
使用する:アプリケーション参照抑止機能を使用する設定
○:アノテーションを参照する
×:アノテーションを参照しない
△:アノテーションを参照するが変更は反映されない
-:該当しない
注※1 cjimportresコマンドに引数「-type ejb」または「-type war」を指定して実行した場合です。
注※2 J2EEサーバの再起動時も含みます。
注※3 その前にJ2EEサーバを起動したときと設定が異なる場合だけアノテーションをロードします。

参考
展開ディレクトリ形式のアプリケーションをインポートしたあとでアノテーション情報を変更した場合,cjgetapppropコマンドによって属性ファイルを取得しても変更後のアノテーション情報は取得できません。これは,属性ファイルを取得する時にはアノテーション情報がクラスファイルからロードされないためです。
変更後のアノテーション情報を属性ファイルに取得するためには,cjstartappコマンドなど,アノテーション情報をクラスファイルからロードするコマンドを実行してから,属性ファイルを取得してください。