17.6.1 アノテーションの更新
アノテーションの定義内容を更新した場合は,次のどちらかの方法でアプリケーションに反映できます。
- アプリケーションをインポートし直す方法
-
通常の入れ替えによって更新内容を反映する方法です。アプリケーションを停止してから入れ替えます。
- リロード機能を使用する方法(展開ディレクトリ形式のアプリケーションの場合)
-
更新検知またはcjreloadappコマンドの実行によって,デプロイ済みのアプリケーションの内容を動的に入れ替える方法です。展開ディレクトリ形式のアプリケーションの場合に使用できます。
ただし,リロード機能で更新できるアノテーションには制限があります。各アノテーションのリロード機能での更新可否を次の表に示します。
表17‒15 各アノテーションのリロード機能での更新可否 アノテーション名
更新可否
@PostConstruct
○
@PreDestroy
○
@Resource
×
@Resources
×
@RunAs
×
@DeclareRoles
○
@RolesAllowed
×
@PermitAll
○
@DenyAll
○
@Stateless
×
@Stateful
×
@Singleton
×
@DependsOn
○
@Startup
○
@AccessTimeout
○
@Lock
○
@ConcurrencyManagement
○
@Init
○
@Remove
○
@AfterBegin
○
@BeforeCompletion
○
@AfterCompletion
○
@Remote
×
@Local
×
@RemoteHome
×
@LocalHome
×
@LocalBean
×
@TransactionManagement
○
@TransactionAttribute
○
@PostActivate
○
@PrePassivate
○
@Interceptors
○
@AroundInvoke
○
@ExcludeDefautInterceptors
○
@ExcludeClassInterceptors
○
@Timeout
×
@Schedule
×
@Schedules
×
@Asynchronous
○
@ApplicationException
○
@EJB
×
@EJBs
×
@WebService
○
@WebServiceProvider
○
@PersistenceContext
○
@PersistenceContexts
○
@PersistenceProperty
○
@PersistenceUnit
○
@PersistenceUnits
○
@WebEndpoint
×
@WebServiceRef
×