| |
|
| java.lang.Object org.apache.axis2.context.AbstractContext org.apache.axis2.context.SessionContext
SessionContext | public class SessionContext extends AbstractContext implements Externalizable(Code) | | All the engine components are stateless across the executions and all the states should be kept in the
Contexts, there are three context Global, Session and Message.
|
sessionContextTimeoutInterval | public long sessionContextTimeoutInterval(Code) | | |
SessionContext | public SessionContext()(Code) | | |
getLastTouchedTime | public long getLastTouchedTime()(Code) | | |
readExternal | public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException(Code) | | Restore the contents of the MessageContext that was
previously saved.
NOTE: The field data must read back in the same order and type
as it was written. Some data will need to be validated when
resurrected.
Parameters: in - The stream to read the object contents from throws: IOException - throws: ClassNotFoundException - |
touch | public void touch()(Code) | | ServiceContext and ServiceGroupContext are not getting automatically garbage collectible. And there
is no specific way for some one to go and make it garbage collectable.
So the current solution is to make them time out. So the logic is that, there is a timer task
in each and every service group which will check for the last touched time. And if it has not
been touched for some time, the timer task will remove it from the memory.
The touching logic happens like this. Whenever there is a call to addMessageContext in the operationContext
it will go and update operationCOntext -> serviceContext -> serviceGroupContext.
|
writeExternal | public void writeExternal(ObjectOutput out) throws IOException(Code) | | Save the contents of this object.
NOTE: Transient fields and static fields are not saved.
Parameters: out - The stream to write the object contents to throws: IOException - |
|
|
|