Interface HttpConversationContext
-
- All Superinterfaces:
AlterableContext
,BoundContext<jakarta.servlet.http.HttpServletRequest>
,Context
,ConversationContext
,ManagedContext
,WeldAlterableContext
public interface HttpConversationContext extends BoundContext<jakarta.servlet.http.HttpServletRequest>, ConversationContext
An Http Session backed conversation context. A transient conversation will be detached from the underlying session. If the conversation is promoted to long running, context will be attached to the underlying Http Session at the end of the request.- Author:
- Pete Muir
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
activateLazily(Consumer<jakarta.servlet.http.HttpServletRequest> transientConversationInitializationCallback)
Activate the conversation context lazily - neither determine the conversation id, nor initialize the context.boolean
destroy(jakarta.servlet.http.HttpSession session)
If the context is not currently associated with aHttpServletRequest
, then the context will be associated with the specifiedHttpSession
(for this thread), activated, destroyed, and then deactivated.-
Methods inherited from interface jakarta.enterprise.context.spi.AlterableContext
destroy
-
Methods inherited from interface org.jboss.weld.context.BoundContext
associate, dissociate
-
Methods inherited from interface jakarta.enterprise.context.spi.Context
get, get, getScope, isActive
-
Methods inherited from interface org.jboss.weld.context.ConversationContext
activate, activate, generateConversationId, getConcurrentAccessTimeout, getConversation, getConversations, getCurrentConversation, getDefaultTimeout, getParameterName, invalidate, setConcurrentAccessTimeout, setDefaultTimeout, setParameterName
-
Methods inherited from interface org.jboss.weld.context.ManagedContext
deactivate
-
Methods inherited from interface org.jboss.weld.context.WeldAlterableContext
clearAndSet, getAllContextualInstances
-
-
-
-
Method Detail
-
destroy
boolean destroy(jakarta.servlet.http.HttpSession session)
If the context is not currently associated with a
HttpServletRequest
, then the context will be associated with the specifiedHttpSession
(for this thread), activated, destroyed, and then deactivated. Any conversations associated with the context will also be destroyed.If the context is already associated with a
HttpServletRequest
then this call will detach the context from the underlying Http Session, and mark the context for destruction when the request is destroyed.This will cause any transient conversations, and any long running conversations associated with the session, to be destroyed.
- Parameters:
session
- theHttpSession
in which to store the bean instances- Returns:
- true if the context was destroyed immediately
-
activateLazily
default void activateLazily(Consumer<jakarta.servlet.http.HttpServletRequest> transientConversationInitializationCallback)
Activate the conversation context lazily - neither determine the conversation id, nor initialize the context. The context is only initialized when a conversation-scoped bean is accessed for the first time. The callback, if specified, is executed during initialization of a transient conversation. The implementation must throw a
RuntimeException
if the lazy initialization is not supported.- Parameters:
transientConversationInitializationCallback
- the callback which is invoked during initialization of a transient conversation
-
-