Conversational scope is defined by a lifecycle that spans many HTTP requests to the server. The developer determines when the scope begins and ends, and most importantly, it is associated with a user. The key annotation is defined by a CDI specification called
@javax.enterprise.context.ConversationScoped. When you apply this annotation to a controller or POJO, remember to ensure that you implement the marker interface,
CDI also defines an interface,
javax.enterprise.context.Conversation that represents the conversation interface. A conversation can be two distinct states of existence: transient and long-running. The transient state means that the conversation is a temporary state. When you annotate a bean with
@ConversationScoped, it will be in the transient state by default.
The developer controls when the conversation switches from the transient to the long-running state. The conversation, then, becomes active and it maintains the holds state of...