Interface Conversation
Allows the application to manage the conversation context by marking the current conversation as transient or long-running, specifying a conversation identifier, or setting the conversation timeout.
An instance may be injected:
@Inject Conversation conversation;
The conversation timeout is a hint to the container that a conversation should not be destroyed if it has been active within the last given interval in milliseconds.
CDI Lite implementations are not required to provide support for conversations.
- Author:
- Pete Muir, Gavin King
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
begin()
Mark the current transient conversation long-running.void
Mark the current transient conversation long-running, with a specified identifier.void
end()
Marks the current long-running conversation transient.getId()
Get the identifier of the current long-running conversation.long
Get the timeout of the current conversation.boolean
Determine if the conversation is marked transient or long-running.void
setTimeout
(long milliseconds) Set the timeout of the current conversation.
-
Method Details
-
begin
void begin()Mark the current transient conversation long-running. A conversation identifier is generated by the container.
- Throws:
IllegalStateException
- if the current conversation is already marked long-running.
-
begin
Mark the current transient conversation long-running, with a specified identifier.
- Parameters:
id
- conversation id- Throws:
IllegalStateException
- if the current conversation is already marked long-running.IllegalArgumentException
- if a conversation with the specified identifier already exists.
-
end
void end()Marks the current long-running conversation transient.
- Throws:
IllegalStateException
- if the current conversation is already marked transient.
-
getId
String getId()Get the identifier of the current long-running conversation.
- Returns:
- the identifier of the current long-running conversation, or a null value if the current conversation is transient.
-
getTimeout
long getTimeout()Get the timeout of the current conversation.
- Returns:
- the current timeout in milliseconds.
-
setTimeout
void setTimeout(long milliseconds) Set the timeout of the current conversation.
- Parameters:
milliseconds
- the new timeout in milliseconds.
-
isTransient
boolean isTransient()Determine if the conversation is marked transient or long-running.
- Returns:
true
if the conversation is marked transient, orfalse
if it is marked long-running.
-