public interface Lifecycle
Resource
クラスで定義されます。begin(Resource)
を実行した場合は、目的の処理が完了後に必ず end()
を実行してください。
LifecycleFactory.getLifecycle().begin(resource)
;
LifecycleFactory.getLifecycle().end()
;
store()
メソッドを 非同期処理の実装以外の用途で利用しないでください。beginWithStore(String)
を実行した場合は、目的の処理が完了後に必ず end()
または end(boolean)
を実行してください。
String key = LifecycleFactory.getLifecycle().store()
;
LifecycleFactory.getLifecycle().beginWithStore(key)
;
LifecycleFactory.getLifecycle().end()
;
LifecycleFactory.getLifecycle().end(false)
;
SerializedContextStorage
インタフェースを実装した実装クラスが必要です。
String key = LifecycleFactory.getLifecycle().store(<実装クラス>)
;
stack(Resource)
を実行した場合は、目的の処理が完了後に必ず pop()
を実行してください。
LifecycleFactory.getLifecycle().switchTo(resource)
;
LifecycleFactory.getLifecycle().stack(resouce)
;
stack(Resource, LifecycleStackProcedure)
が利用可能です。このメソッドを利用する場合、LifecycleStackProcedureの処理が完了後に自動的に pop()
が実行されるため、 pop()
を実行する必要がありません。 // LifecycleStackProcedureのジェネリックスとして、スタックの戻り値クラス、許容する例外クラスを指定します。 Boolean result = LifecycleFactory.getLifecycle().stack(resource, new LifecycleStackProcedure<Boolean, Exception>() { @Override public Boolean process() throws Exception { // コンテキスト切替中に動作する処理を記述します。 return true; } });
修飾子とタイプ | メソッドと説明 |
---|---|
void |
begin(Resource resource)
スコープを開始します。
|
void |
beginWithStore(String identifier)
永続化先からアクセスコンテキスト情報を引き継ぎつつスコープを開始します。
|
void |
end()
スコープを終了します。
|
void |
end(boolean removePersistence)
スコープを終了します。
|
boolean |
inLifecycle()
スコープが開始しているかどうかを確認します。
|
void |
pop()
現在のアクセスコンテキストを破棄して、保存したアクセスコンテキストに切り替えます。
|
void |
removePersistance(String identifier)
アクセスコンテキストの永続化先から指定された永続化情報を削除します。
|
void |
stack(Resource resource)
現在のアクセスコンテキストを保存して、新しいアクセスコンテキストに切り替えます。
|
<T,E extends Exception> |
stack(Resource resource,
LifecycleStackProcedure<T,E> procedure)
現在のアクセスコンテキストを保存して、新しいアクセスコンテキストに切り替えてから、指定の処理を実行します。
|
String |
store()
アクセスコンテキスト情報を永続化先に格納します。
|
String |
store(Class<? extends SerializedContextStorage> storage)
アクセスコンテキスト情報を指定された永続化先に格納します。
|
void |
switchTo(Resource resource)
現在のアクセスコンテキストを破棄して、新しいアクセスコンテキストに切り替えます。
|
void begin(Resource resource)
end()
を呼び出してから実行します。end()
が呼び出され、生成されたアクセスコンテキストは全て破棄されます。resource
- 環境情報LifecycleException
- ライフサイクルに関するエラーが発生した場合に発生します。void beginWithStore(String identifier) throws ContextPersistenceException
end()
を呼び出してから実行します。end(false)
が呼び出され、生成されたアクセスコンテキストは全て破棄されます。RuntimeException
を含めてエラーが発生したかをチェックして、 removePersistance(String)
を利用して永続化情報を破棄する必要があります。identifier
- 永続化先の保存キーstore()
または、 store(Class)
を利用して取得したキーを指定します。LifecycleException
- ライフサイクルに関するエラーが発生した場合に発生します。ContextPersistenceException
- 永続化先情報の取得に失敗した場合に発生します。void end()
LifecycleException
- ライフサイクルに関するエラーが発生した場合に発生します。void end(boolean removePersistence)
removePersistence
- 永続化情報を破棄する場合は true
を指定します。boolean inLifecycle()
true
LifecycleException
- ライフサイクルに関するエラーが発生した場合に発生します。void pop()
LifecycleException
- ライフサイクルに関するエラーが発生した場合に発生します。#stack(Context)
void removePersistance(String identifier)
identifier
- 永続化先のキーvoid stack(Resource resource)
pop()
を利用して再度利用することが可能です。pop()
は呼ぶ必要はありません。resource
- 環境情報LifecycleException
- ライフサイクルに関するエラーが発生した場合に発生します。pop()
<T,E extends Exception> T stack(Resource resource, LifecycleStackProcedure<T,E> procedure) throws E extends Exception
pop()
が呼び出されて、処理が終了します。procedure
が指定されていない場合、 stack(Resource)
のみを実行し、 pop()
は実行されません。T
- 処理結果クラスの型E
- 処理例外クラスの型resource
- 環境情報procedure
- スタック中に実行する処理E
- 処理で発生した例外E extends Exception
String store() throws ContextPersistenceException
LifecycleException
- ライフサイクルに関するエラーが発生した場合に発生します。ContextPersistenceException
- 永続化情報の格納に失敗した場合に発生します。String store(Class<? extends SerializedContextStorage> storage) throws ContextPersistenceException
storage
- 永続化先クラスLifecycleException
- ライフサイクルに関するエラーが発生した場合に発生します。ContextPersistenceException
- 永続化情報の格納に失敗した場合に発生します。void switchTo(Resource resource)
resource
- 環境情報LifecycleException
- ライフサイクルに関するエラーが発生した場合に発生します。Copyright © 2012 NTT DATA INTRAMART CORPORATION