@Service
public class WorkContextHelper
extends java.lang.Object
implements weblogic.core.base.api.FastThreadLocalMarker
WorkContextHelper
allows internal users to obtain and
modify WorkContext
s. The class APIs allow for
replacement of the implementation - although there are currently no
use-cases for this. Typical usages follow. To obtain the current
WorkContextMap
for update:
WorkContextMap interceptor = WorkContextHelper.getWorkContextHelper().getWorkContextMap();To obtain a
WorkContextMapInterceptor
:
WorkContextMapInterceptor interceptor = WorkContextHelper.getWorkContextHelper().getInterceptor();
WorkContextMap
,
WorkContextMapInterceptor
Modifier and Type | Field and Description |
---|---|
(package private) static java.util.concurrent.CopyOnWriteArrayList<weblogic.workarea.spi.AfterCopyContextsListener> |
afterCopyContextsListeners |
(package private) static java.util.concurrent.CopyOnWriteArrayList<weblogic.workarea.spi.AfterReceiveRequestListener> |
afterReceiveRequestListeners |
(package private) static java.util.concurrent.CopyOnWriteArrayList<weblogic.workarea.spi.AfterSendRequestListener> |
afterSendRequestListeners |
(package private) static java.util.concurrent.CopyOnWriteArrayList<weblogic.workarea.spi.BeforeSendRequestListener> |
beforeSendRequestListeners |
private static WorkContextMapImpl |
map |
private static WorkContextHelper |
singleton |
private static java.lang.String |
WORK_CONTEXT_BINDING |
Modifier | Constructor and Description |
---|---|
protected |
WorkContextHelper() |
Modifier and Type | Method and Description |
---|---|
static void |
bind(javax.naming.Context ctx) |
weblogic.workarea.spi.WorkContextMapInterceptor |
createInterceptor()
Create an instance of
WorkContextMapInterceptor for the purposes
of serialization. |
java.lang.String |
getFastThreadLocalClassName() |
weblogic.workarea.spi.WorkContextMapInterceptor |
getInterceptor()
Get the singleton instance of the current
WorkContextMapInterceptor .. |
weblogic.workarea.spi.WorkContextMapInterceptor |
getLocalInterceptor()
Get the singleton thread-local instance of the current
WorkContextMapInterceptor , or null if there is no
WorkContextMap for the current thread. |
WorkContextMap |
getPriviledgedWorkContextMap() |
static WorkContextHelper |
getWorkContextHelper()
Get the WorkContextHelper singleton.
|
WorkContextMap |
getWorkContextMap() |
void |
registerAfterCopyContextsListener(weblogic.workarea.spi.AfterCopyContextsListener listener) |
void |
registerAfterReceiveRequestListener(weblogic.workarea.spi.AfterReceiveRequestListener listener) |
void |
registerAfterSendRequestListener(weblogic.workarea.spi.AfterSendRequestListener listener) |
void |
registerBeforeSendRequestListener(weblogic.workarea.spi.BeforeSendRequestListener listener) |
void |
setLocalInterceptor(weblogic.workarea.spi.WorkContextMapInterceptor interceptor)
Take an
WorkContextMapInterceptor
object and make it the current map. |
static void |
setWorkContextHelper(WorkContextHelper wam)
Set the WorkContextHelper singleton.
|
static void |
unbind(javax.naming.Context ctx) |
void |
unRegisterAfterCopyContextsListener(weblogic.workarea.spi.AfterCopyContextsListener listener) |
void |
unRegisterAfterReceiveRequestListener(weblogic.workarea.spi.AfterReceiveRequestListener listener) |
void |
unRegisterAfterSendRequestListener(weblogic.workarea.spi.AfterSendRequestListener listener) |
void |
unRegisterBeforeSendRequestListener(weblogic.workarea.spi.BeforeSendRequestListener listener) |
private static final java.lang.String WORK_CONTEXT_BINDING
private static final WorkContextMapImpl map
private static WorkContextHelper singleton
static java.util.concurrent.CopyOnWriteArrayList<weblogic.workarea.spi.AfterReceiveRequestListener> afterReceiveRequestListeners
static java.util.concurrent.CopyOnWriteArrayList<weblogic.workarea.spi.AfterSendRequestListener> afterSendRequestListeners
static java.util.concurrent.CopyOnWriteArrayList<weblogic.workarea.spi.BeforeSendRequestListener> beforeSendRequestListeners
static java.util.concurrent.CopyOnWriteArrayList<weblogic.workarea.spi.AfterCopyContextsListener> afterCopyContextsListeners
public static WorkContextHelper getWorkContextHelper()
public static void setWorkContextHelper(WorkContextHelper wam)
wam
- - a suitable WorkContextHelper implementation for client
or server.public WorkContextMap getWorkContextMap()
public WorkContextMap getPriviledgedWorkContextMap()
public weblogic.workarea.spi.WorkContextMapInterceptor getInterceptor()
WorkContextMapInterceptor
..public weblogic.workarea.spi.WorkContextMapInterceptor getLocalInterceptor()
WorkContextMapInterceptor
, or null if there is no
WorkContextMap
for the current thread.public weblogic.workarea.spi.WorkContextMapInterceptor createInterceptor()
WorkContextMapInterceptor
for the purposes
of serialization. Thread infection can be achieved via WorkContextHelper.setLocalInterceptor(weblogic.workarea.spi.WorkContextMapInterceptor)
.public void setLocalInterceptor(weblogic.workarea.spi.WorkContextMapInterceptor interceptor)
WorkContextMapInterceptor
object and make it the current map. This bypasses serialization
schemes for the WorkContextMap
. This allows callers to
separate serialization from thread infection and vice versa.public void registerAfterReceiveRequestListener(weblogic.workarea.spi.AfterReceiveRequestListener listener)
public void registerAfterSendRequestListener(weblogic.workarea.spi.AfterSendRequestListener listener)
public void registerBeforeSendRequestListener(weblogic.workarea.spi.BeforeSendRequestListener listener)
public void registerAfterCopyContextsListener(weblogic.workarea.spi.AfterCopyContextsListener listener)
public void unRegisterAfterReceiveRequestListener(weblogic.workarea.spi.AfterReceiveRequestListener listener)
public void unRegisterAfterSendRequestListener(weblogic.workarea.spi.AfterSendRequestListener listener)
public void unRegisterBeforeSendRequestListener(weblogic.workarea.spi.BeforeSendRequestListener listener)
public void unRegisterAfterCopyContextsListener(weblogic.workarea.spi.AfterCopyContextsListener listener)
public static void bind(javax.naming.Context ctx) throws javax.naming.NamingException
javax.naming.NamingException
public static void unbind(javax.naming.Context ctx) throws javax.naming.NamingException
javax.naming.NamingException
public java.lang.String getFastThreadLocalClassName()
getFastThreadLocalClassName
in interface weblogic.core.base.api.FastThreadLocalMarker