axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ajith Ranabahu <ajith.ranab...@gmail.com>
Subject Re: [Axis2]Session Context
Date Mon, 16 Jan 2006 12:27:26 GMT
Hi Rajitha,
Here's an "attempt" to answer your queries


>  I really need some help to figure out the following, and answers are
> > greatly appreciated. These questions are based on discussions I had with
> > Sanjiva regarding clustering.  I will also start a different thread to
> > discuss these points to get more input. Some of the questions will be
> very
> > trivial, so pardon my ignorance.
>
>  I really need the info for a prototype I am trying to implement. I can do
> > it the hard way by going through all the code or take the easy route by
> > simply picking your brain. I hope u guys want mind that.


Hey, Not at all :)

>
> >  1) If a service is deployed as Session Scope what is involved in terms
> of
> > maintaining the session?
> >  Some pointers to the code and a general description is great.
> >


AFAIK We do not have our own session management mechanism in place yet (We
ought to :( ). Right now we depend on the HTTP transport session to maintain
the web service session (Which means that session scope is only available
for the HTTP services for now)

>
> >  2)Is this working currently in Axis2 or yet to be developed? Any
> examples
> > or doc on this will be great.
> >


As I said this is yet to be developed.

>
> >  3)What is the purpose of SessionContext ?? I assume it plays a major
> role
> > in session scope, but to what extent??  Do u have the design or
> requirements
> > that led to the existence of SessionContext.
> >


Session context is the  runtime information bag that is valid for the
session. So it is the most important holder for the session information.
Right now we store the session conetext in the HTTP session.
The design philosophy is that although we have a nicely defined set of
contexts for information storage, we've no way of keeping the runtime info
for a session. Atleast there's no single place which we can use to hold it.


>
> >
> > 4) Exactly what will be stored within the SessionContext ??
> >     Currentlly are we storing non-serializable information within the
> > context that are ciritcal for a session?
> >


 Have a look at the org.apache.axis2.context.SessionContext class

>
> > 5)I assume the following relationship.  ServiceContext holds several
> > SessionContexts (multiple clients accessing the service with a session
> of
> > their own). And SessionContext holds several Operational Contexts and in
> > turn several MsgContexts.
> >
>
> Is this assumption correct?


Mmmm... not really. there's only one session context in the given HTTP
session and it has a map of the service contexts and  service group
contexts. The first attempt in instance dispatch is done by searching the
session context, we create a new one if that is not available there.
(instance dispatch is the process of finding the right service
context/operation context and the  service group context)
have a look at
org.apache.axis2.engine.InstanceDispatcher#fillContextsFromSessionContext(MessageContext
msgContext) (line 96) for the logic of this

> Sorry for the long list, your help is really appreciated.
> >
> > Regards,
> >
> > Rajith Attapattu.
> >
>
>


--
Ajith Ranabahu

Mime
View raw message