public interface SessionListener
beforeSessionCreate(java.lang.String, java.util.Map<java.lang.Object, java.lang.Object>)
afterSessionCreate(java.lang.String, boolean, java.util.Map<java.lang.Object, java.lang.Object>)
beforeSessionInstantiate(java.lang.String, java.util.Map<java.lang.Object, java.lang.Object>)
afterSessionInstantiate(java.lang.String, boolean, java.util.Map<java.lang.Object, java.lang.Object>)
beforeSessionDiscard(java.lang.String, java.util.Collection<com.bea.wli.config.resource.DiffEntry>, java.util.Map<java.lang.Object, java.lang.Object>)
afterSessionDiscard(java.lang.String, java.util.Map<java.lang.Object, java.lang.Object>)
beforeSessionActivate(java.lang.String, java.util.List<com.bea.wli.config.resource.ChangeDescriptor>, java.util.Map<java.lang.Object, java.lang.Object>)
afterSessionActivate(java.lang.String, boolean, java.util.Collection<com.bea.wli.config.resource.DiffEntry>, java.util.Map<java.lang.Object, java.lang.Object>)
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
IS_SHUTDOWN_INITIATED
The key to know if the config framework is shutting down.
|
static java.lang.String |
WLS_EDITABLE_DOMAIN_MBEAN
The key for the editable WLS DomainMBean that is stored in the scratch pad for session activation and passed to the session activation callbacks.
|
static java.lang.String |
WLS_EDITABLE_SESSION_NAME
The key for the editable session name that is stored in the DomainBean for session activation and passed to the session activation callbacks.
|
Modifier and Type | Method and Description |
---|---|
void |
afterSessionActivate(java.lang.String session, boolean success, java.util.Collection<DiffEntry> diffs, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionActivate)
This method is called after session activation has succeeded or failed (controlled by the success flag).
|
void |
afterSessionCreate(java.lang.String session, boolean success, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionCreate)
This method is invoked after a session creation attempt.
|
void |
afterSessionDiscard(java.lang.String session, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionDiscard)
This method is called after a session has been discarded.
|
void |
afterSessionInstantiate(java.lang.String session, boolean success, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionInstantiate)
This method is invoked after a persisted session is instantiated at server startup.
|
void |
beforeSessionActivate(java.lang.String session, java.util.List<ChangeDescriptor> descs, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionActivate)
This method is called just before a session is activated.
|
void |
beforeSessionCreate(java.lang.String session, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionCreate)
This method is called before a session is created.
|
void |
beforeSessionDiscard(java.lang.String session, java.util.Collection<DiffEntry> diffs, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionDiscard)
This method is called before the session is discarded.
|
void |
beforeSessionInstantiate(java.lang.String session, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionInstantiate)
This method is called before a persisted session is instantiated at server startup.
|
static final java.lang.String IS_SHUTDOWN_INITIATED
static final java.lang.String WLS_EDITABLE_DOMAIN_MBEAN
static final java.lang.String WLS_EDITABLE_SESSION_NAME
void beforeSessionCreate(java.lang.String session, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionCreate)
Exception behavior: Any exception thrown from this method is ignored. The afterSessionCreate(java.lang.String, boolean, java.util.Map<java.lang.Object, java.lang.Object>)
method of a listener will be called even if the beforeSessionCreate(java.lang.String, java.util.Map<java.lang.Object, java.lang.Object>)
of that listener has failed.
session
- the name of the session to be createdscratchPadForSessionCreate
- a modifiable map that is intended to be used solely by the implementation of this method, so that they can store transient state in this hashmap and later use it in the afterSessionCreate(java.lang.String, boolean, java.util.Map<java.lang.Object, java.lang.Object>)
method. This map is created once and passed to all the session listeners, hence the listeners share the same map.void afterSessionCreate(java.lang.String session, boolean success, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionCreate)
CallContext.enterSession(String)
has been called to set the thread local variable that holds the current session. This means any calls to configuration system to obtain data will be automatically directed to the session data, rather than the core data.
This method can be used to perform additional changes (create, update, delete) to the session data.
Exception behavior: Any exception thrown from this method is ignored
session
- name of the session that has been attempted to be created.success
- whether the creation was successfulscratchPadForSessionCreate
- the modifiable map that has been passed to the beforeSessionCreate(java.lang.String, java.util.Map<java.lang.Object, java.lang.Object>)
method. Any information that has been put inside this method by the beforeSessionCreate(java.lang.String, java.util.Map<java.lang.Object, java.lang.Object>)
method is available when this method is called. This map is destroyed after all session listeners have been notifiedvoid beforeSessionInstantiate(java.lang.String session, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionInstantiate)
Exception behavior: Any exception thrown from this method is ignored. The #afterSessionInstantiate method of a listener will be called even if the {@link #beforeSessionInstantiate} of that listener has failed.
session
- the name of the persisted session to be instantiatedscratchPadForSessionInstantiate
- a modifiable map that is inteded to be used solely by the implementation of this method, so that they can store transient state in this hashmap and later use it in the afterSessionInstantiate(java.lang.String, boolean, java.util.Map<java.lang.Object, java.lang.Object>)
method. This map is created once and passed to all the session listeners, hence the listeners share the same map.void afterSessionInstantiate(java.lang.String session, boolean success, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionInstantiate)
CallContext.enterSession(String)
has been called to set the thread local variable that holds the current session. This means any calls to configuration system to obtain data will be automatically directed to the session data, rather than the core data.
This method can be used to perform additional changes (create, update, delete) to the session data.
Exception behavior: Any exceptions thrown from this method is ignored
session
- name of the session that has been attempted to be instantiated.success
- whether the instantiation was successfulscratchPadForSessionInstantiate
- the modifiable map that has been passed to the beforeSessionCreate(java.lang.String, java.util.Map<java.lang.Object, java.lang.Object>)
method. Any information that has been put inside this method by the beforeSessionCreate(java.lang.String, java.util.Map<java.lang.Object, java.lang.Object>)
method is available when this method is called. This map is destroyed after all session listeners have been notifiedvoid beforeSessionDiscard(java.lang.String session, java.util.Collection<DiffEntry> diffs, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionDiscard)
CallContext.enterSession(String)
has been called to set the thread local variable that holds the current session. This means any calls to configuration system to obtain data will be automatically directed to the session data, rather than the core data.
Exception behavior: Any exception thrown from this method is ignored. The afterSessionDiscard(java.lang.String, java.util.Map<java.lang.Object, java.lang.Object>)
of a listener will be called even if the beforeSessionDiscard(java.lang.String, java.util.Collection<com.bea.wli.config.resource.DiffEntry>, java.util.Map<java.lang.Object, java.lang.Object>)
of that listener has failed.
session
- the name of the session that is being discardeddiffs
- collection of diff entries that describe what resources/folders/projects would have been deleted, updated, or added had the session been activated.scratchPadForSessionDiscard
- a modifiable map that is intended to be used solely by the implementation of this method, so that they can store transient state in this hashmap and later use it in the afterSessionDiscard(java.lang.String, java.util.Map<java.lang.Object, java.lang.Object>)
method. This map is created once and passed to all the session listeners, hence the listeners share the same map.void afterSessionDiscard(java.lang.String session, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionDiscard)
session
- the session that has been discarded.scratchPadForSessionDiscard
- the modifiable map that has been passed to the beforeSessionDiscard(java.lang.String, java.util.Collection<com.bea.wli.config.resource.DiffEntry>, java.util.Map<java.lang.Object, java.lang.Object>)
method. Any information that has been put inside this method by the beforeSessionDiscard(java.lang.String, java.util.Collection<com.bea.wli.config.resource.DiffEntry>, java.util.Map<java.lang.Object, java.lang.Object>)
method is available when this method is called. This map is destroyed after all session listeners have been notifiedvoid beforeSessionActivate(java.lang.String session, java.util.List<ChangeDescriptor> descs, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionActivate) throws java.lang.Exception
This call happens in the context of the session that has been created, namely CallContext.enterSession(String)
has been called to set the thread local variable that holds the current session. This means any calls to configuration system to obtain data will be automatically directed to the session data, rather than the core data.
This method can be used to perform additional changes (Create, update, delete) to the session data just before the activation starts. These changes will be activated along with the session.
Exception behavior: Unlike other methods, any exception thrown from this method prevents session activation, and the remainder of the listeners will not be notified. If a listener fails in this call, the afterSessionActivate(java.lang.String, boolean, java.util.Collection<com.bea.wli.config.resource.DiffEntry>, java.util.Map<java.lang.Object, java.lang.Object>)
method will be called on all the listeners that have received the beforeSessionActivate(java.lang.String, java.util.List<com.bea.wli.config.resource.ChangeDescriptor>, java.util.Map<java.lang.Object, java.lang.Object>)
notification, including the listener that failed.
descs
- the list of changes that will be performed by the config fwk deployment.scratchPadForSessionActivate
- a modifiable map that is intended to be used solely by the implementation of this method, so that they can store transient state in this hashmap and later use it in either afterSessionActivate(java.lang.String, boolean, java.util.Collection<com.bea.wli.config.resource.DiffEntry>, java.util.Map<java.lang.Object, java.lang.Object>)
method. This map is created once and passed to all the session listeners, hence the listeners share the same map. This map additionally contains an editable DomainMBean when running on weblogic server. This MBean is keyed by WLS_EDITABLE_DOMAIN_MBEAN
.java.lang.Exception
- any exception thrown by the implementation will prevent the session from being activated.void afterSessionActivate(java.lang.String session, boolean success, java.util.Collection<DiffEntry> diffs, java.util.Map<java.lang.Object,java.lang.Object> scratchPadForSessionActivate)
Exception behavior: Any exception thrown from this method is ignored.
session
- the name of the session on which activation has been attempted.success
- whether the activation was successful or not.diffs
- collection of diff entries that described what resources/folders/projects have been attempted to be deleted, updated, or added. This list may be different from the diffs that have been passed to the beforeSessionActivate(java.lang.String, java.util.List<com.bea.wli.config.resource.ChangeDescriptor>, java.util.Map<java.lang.Object, java.lang.Object>)
method, if new artifacts were added by the beforeSessionActivate(java.lang.String, java.util.List<com.bea.wli.config.resource.ChangeDescriptor>, java.util.Map<java.lang.Object, java.lang.Object>)
method.scratchPadForSessionActivate
- the modifiable map that has been passed to the beforeSessionActivate(java.lang.String, java.util.List<com.bea.wli.config.resource.ChangeDescriptor>, java.util.Map<java.lang.Object, java.lang.Object>)
method. Any information that has been put inside this method by the beforeSessionActivate(java.lang.String, java.util.List<com.bea.wli.config.resource.ChangeDescriptor>, java.util.Map<java.lang.Object, java.lang.Object>)
method is available when this method is called. This map is destroyed after all session listeners have been notified