クラス SessionBindingConversationManager
java.lang.ObjectSE
org.springframework.webflow.conversation.impl.SessionBindingConversationManager
- 実装済みのインターフェース一覧:
ConversationManager
セッション属性マップに会話を保存する会話マネージャーのシンプルな実装。
maxConversations プロパティを使用すると、1 つのセッションで許可される同時アクティブな会話の数を制限できます。最大値を超えると、会話マネージャーは最も古い会話を自動的に終了します。デフォルトは 5 で、ほとんどの状況ではこれで十分です。制限しない場合は -1 に設定します。maxConversations を 1 に設定すると、セッションごとにアクティブな会話が 1 つだけである状況で、リソースのクリーンアップが容易になります。
- 作成者:
- Erwin Vervaet
コンストラクター概要
コンストラクター方法の概要
修飾子と型メソッド説明beginConversation(ConversationParameters conversationParameters) 新しい会話を始めます。protected ConversationContainer指定された ID を持つ会話を取得します。protected final ConversationContainerセッションから会話コンテナーを取得します。int会話ロックを取得しようとしたときにタイムアウトが発生するまでの経過時間を返します。int許可される同時会話の最大数を返します。この会話マネージャーがセッションに会話データを保存するために使用するキーを返します。parseConversationId(StringSE encodedId) 文字列エンコードされた conversationId をオブジェクト形式に解析します。voidsetLockTimeoutSeconds(int lockTimeoutSeconds) 会話ロックを取得しようとしたときにタイムアウトが発生するまでの経過時間を設定します。voidsetMaxConversations(int maxConversations) 許可される同時会話の最大数を設定します。voidsetSessionKey(StringSE sessionKey) この会話マネージャーがセッションに会話データを保存するために使用するキーを設定します。
コンストラクターの詳細
SessionBindingConversationManager
public SessionBindingConversationManager()
メソッドの詳細
getSessionKey
この会話マネージャーがセッションに会話データを保存するために使用するキーを返します。- 戻り値:
- セッションキー
setSessionKey
この会話マネージャーがセッションに会話データを保存するために使用するキーを設定します。独立したフローエグゼキューターをバックアップするために同じ Web アプリケーションで複数のセッションバインディング会話マネージャーが使用されている場合、この値はそれらの間で一意である必要があります。- パラメーター:
sessionKey- セッションキー
getMaxConversations
public int getMaxConversations()許可される同時会話の最大数を返します。デフォルトは 5 です。setMaxConversations
public void setMaxConversations(int maxConversations) 許可される同時会話の最大数を設定します。制限なしの場合は -1 に設定します。デフォルトは 5 です。getLockTimeoutSeconds
public int getLockTimeoutSeconds()会話ロックを取得しようとしたときにタイムアウトが発生するまでの経過時間を返します。デフォルトは 30 秒です。setLockTimeoutSeconds
public void setLockTimeoutSeconds(int lockTimeoutSeconds) 会話ロックを取得しようとしたときにタイムアウトが発生するまでの経過時間を設定します。デフォルトは 30 秒です。- パラメーター:
lockTimeoutSeconds- タイムアウト期間(秒)
beginConversation
public Conversation beginConversation(ConversationParameters conversationParameters) throws ConversationException インターフェースからコピーされた説明:ConversationManager新しい会話を始めます。- 次で指定:
- インターフェース
ConversationManagerのbeginConversation - パラメーター:
conversationParameters- 記述的な会話パラメーター- 戻り値:
- 会話コンテキストへのアクセスを可能にするサービスインターフェース
- 例外:
ConversationException- 例外が発生しました
getConversation
インターフェースからコピーされた説明:ConversationManager指定された ID を持つ会話を取得します。実装者は、会話 ID を正しく管理するように注意する必要があります。単一の実行スレッドで特定の会話 ID を使用してこのメソッドが呼び出されるたびに、同じ (==) 会話オブジェクトを返すことは厳密には要求されませんが、呼び出し元は、識別された会話を操作できるオブジェクトを受け取ることを期待します。つまり、以下は有効な ConversationManager クライアントコードです。
ConversationManager manager = ...; ConversationId id = ...; Conversation conv = manager.getConversation(id); conv.lock(); try { Conversation localReference = manager.getConversation(id); // no need to lock since conversation 'id' is already locked // even though possibly conv != localReference localReference.putAttribute("foo", "bar"); Object foo = conv.getAttribute("foo"); } finally { conv.unlock(); }- 次で指定:
- インターフェース
ConversationManagerのgetConversation - パラメーター:
id- 会話 ID- 戻り値:
- 会話
- 例外:
NoSuchConversationException- 提供された ID は無効ですConversationException
parseConversationId
インターフェースからコピーされた説明:ConversationManager文字列エンコードされた conversationId をオブジェクト形式に解析します。基本的には、ConversationId.toString()の逆です。- 次で指定:
- インターフェース
ConversationManagerのparseConversationId - パラメーター:
encodedId- エンコードされた ID- 戻り値:
- 解析された会話 ID
- 例外:
ConversationException- ID の解析中に例外が発生しました
createConversationContainer
getConversationContainer
セッションから会話コンテナーを取得します。既存のコンテナーが見つからない場合は、新しい空のコンテナーを作成し、セッションに追加します。