Hi Glen
Hi Deepal:
Its like this , Context Bag is NOT the root of all the context , and which is the one passes around all the handlers in a chain. That is Context bag is a bag which contains all the required contexts to invoke the handlers and finally the service.
Why do you need this "Context Bag" at all? Shouldn't the MessageContext just have pointers upwards to the rest of the context stack?
[Deepal]
If we keep upwards pointers we are going to have a trouble when we going to serialize because it try to make cyclic relationship, so my idea is not to keep upward relationship and only to keep downward pointer ( -:) ) , this matter arises if we use JAVA serializer.
As you have mentioned there are same boxes in different locations , actually what that implies is
1. direct arrow from Context bag => Keep references to those contexts in Context bag so that if handler want to access any context it can ask those contexts from Context Bag.
2. As you can see there are some arrows from EngineContext and Mep context => that implies those them selves keep references to those contexts. As an example if the MEP is IN-OUT then MEPconnext need to keep references to both IN message context and Out Message context.
OperationContext == MEPContext, right? They are the same thing?
Yup , here MEPContext is the Operationcontext ( OperationContext == MEPContext) .
>
Why does MessageContext have a pointer to "Transport Config"?
Why does EngineContext have a pointer to MessageContext?
Note that : Only the parent keep its child references and child are not going to keep any references to its parent.
Then how do you do the property scoping we were talking about?? I should be able to do:
serviceContext.setProperty("foo", "value")
and then later in a handler (once we've dispatched to the service) do:
messageContext.getProperty("foo")
...and get "value".
It seems to me like you've got it mostly backwards - the children keep pointers to the parents, and only in certain cases do the parents even need to keep pointers to the children.
And one thing if I am not mistaken we do not have context called global context which is equivalent to EngineConetxt so the root of context is EngineContext .
Correct.
I am also confused the word EngineContext I rather like if we can change it to Global Context
I like EngineContext better myself, since it's clear what it means - scoped to an AxisEngine. If you use "Global" you have to ask "how Global"? (which in fact we did :))
[Deepal]
Glen : I agree with you , but my problem is where are we going to store global values , are those in the EngineConfiguration
Deepal
--Glen
