axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sanjiva Weerawarana" <sanj...@opensource.lk>
Subject Re: [Axis2][Revisit]How about making Message context executable?
Date Thu, 10 Mar 2005 16:05:42 GMT
+1 .. the problem IMO is that Srinath is using a big word to
describe this ;-). "Executable" is scary.

The real need is for an MC to be able to save the state of
the chain its executing under and be able to pick it up
later. Obviously this is critical for RM to work.

Apparently Glen's original engine toy had this .. let's use
whatever the terminology that Glen came up for it!

Sanjiva.

----- Original Message ----- 
From: "Eran Chinthaka" <chinthaka@opensource.lk>
To: <axis-dev@ws.apache.org>
Sent: Thursday, March 10, 2005 2:06 PM
Subject: RE: [Axis2][Revisit]How about making Message context executable?


> Well, I didn't exactly understood the meaning of MC executable. But like
to
> add some thing to Srinath's proposal.
>
> * put PAUSE flag in MC
> * if a handler needs to pause the mc, mc has a field to mention last
> executed handler. Then handler saves or persists the mc in anyway, it like
> and set the PAUSE flag to true.
> *  Other handlers upon receiving this PAUSE MC, they won't do anything.
(Or
> Engine can have a mechanism to stop proceeding the message to rest of the
> handlers)
> * then
> * send and receive methods of engine checks the MC for a last executed
> handler, if available. If available he can position the MC in that
position
> of the execution chain, and ask handlers to proceed.
> * When handler or anyone decides, that the PAUSEd MC should start, it will
> call engine.recieve() or engine.send().
>
>
> Will that solve the problem ? And will that help RM too ??
>
>
> -- Eran Chinthaka
>
>
> -----Original Message-----
> From: Srinath Perera [mailto:hemapani@gmail.com]
> Sent: Thursday, March 10, 2005 9:55 AM
> To: Aleksander Slominski
> Cc: axis-dev@ws.apache.org
> Subject: Re: [Axis2][Revisit]How about making Message context executable?
>
> Hi Alek;
>
> > what is the purpose of MC and what is the purpose of Engine?
> Messgae context is basically the place holders for the all the
> information! Engine is the stateless class that holds the invocation
> logic!
>
> > i always though that MC exists for time that message is processed and is
> > used to pass state between pipelined handlers
> >
> > Engine exists independent from services and messages and its purpose it
> > to help during message processing
> >
> > if AxisEngine is removed what will replace it to keep state independent
> > of message processing?
>
> Alek the Q come as follows, as the message context is the bag of
> information we plan to have way to pause and resume the invocation!
>
> msgctx.pause();
> msgcts.resume();
>
> With these two methods MessageContext is already executable!. Is there
> are any other places we need keep the pause(), resume() methods like
> engine. What I thought was should we marry the logic and the info both
> in to message context.
>
> I agree that would overload the message context , I purpose follwoing
> as the solution
>
> 1) MessageContext has a flag called paused default to false
> 2) if some handler set the falg true the execution will halt from that
> handler, and the engine.send(..) or engine.recive(..) will return
> 3) the Handler may store the MessageContext and reset the pause later
> and call engine.send() or recive() later. Then the execution starts
> from the place where the it is stoped
>
> Thanks
> Srinath
>
>
> > Sanjiva Weerawarana wrote:
> >
> > >Um, Srinath wrong list? ;-)
> > >
> > >Sanjiva.
> > >
> > >----- Original Message -----
> > >From: "Srinath Perera" <hemapani@gmail.com>
> > >To: <dev@geronimo.apache.org>
> > >Sent: Monday, March 07, 2005 3:49 PM
> > >Subject: [Axis2][Revisit]How about making Message context executable?
> > >
> > >
> > >
> > >
> > >>Hi All;
> > >>
> > >>I put this Q about making the MessageContext executable?  I do not get
> > >>a clear response ..
> > >>May be it does not call for enough attention?
> > >>
> > >>But I feel this is bit too bigger change to do without enough
> > >>community input .. So I feel we should hold it back for the F2F. But
> > >>then "pause the engine execution at some state" should wait too
> > >>thoughts?
> > >>Srinath
> > >>
> > >>---------- Forwarded message ----------
> > >>From: Ajith Ranabahu <ajith.ranabahu@gmail.com>
> > >>Date: Fri, 4 Mar 2005 16:49:43 +0600
> > >>Subject: Re: [Axis2]How about making Message context executable?
> > >>To: axis-dev@ws.apache.org, Srinath Perera <hemapani@gmail.com>
> > >>
> > >>
> > >>Hi there Srinath and all,
> > >>This is probably a complete 180 degree turn from where we were heading
> > >>(well not exactly a backward leap, but a drastic change in direction).
> > >>The Message Context (MC) was pursued only as a property bag. Now we
> > >>are trying to put executable actions there! So the role of the MC is
> > >>changed now. I am not sure what this means to the structure of axis.
> > >>I guess this needs to be thought out carefully.
> > >>BTW if we are to do such a change this is the best time to tackle such
> > >>a change. It will be impossible on later stage.
> > >>
> > >>
> > >>On Thu, 3 Mar 2005 17:54:59 +0600, Srinath Perera <hemapani@gmail.com>
> > >>
> > >>
> > >wrote:
> > >
> > >
> > >>>Hi All;
> > >>>
> > >>>This is regarding the invoke, pausing and resuming the the
invocation!
> > >>>
> > >>>To this point this is implemented with an ExecutionChain kept in the
> > >>>MessageContext ..calling the invoke on the MessageContext.
> > >>>
> > >>>But more I look at the code more I convinced the way the Glen has
done
> > >>>it in EngineToy by putting the invoke(), resume() and pause() in the
> > >>>MessageContext would yield simpler and better code. Only catch is
that
> > >>>it will make the MessageContext executable .. making it bit away from
> > >>>what we percive about it!
> > >>>
> > >>>thoughts?
> > >>>
> > >>>I have a bit more revolutionary proposal to add (hope I will not
> > >>>killed for saying this :D ) that is to get rid of the AxisEngine and
> > >>>put the send and receive in to the MessageContext. Making it our
> > >>>approach is to create the information bag, messageContext and ask it
> > >>>to send(), recive(), pause() .. I just want to know what people think
> > >>>about this?
> > >>>
> > >>>Thanks
> > >>>Srinath
> > >>>
> > >>>
> > >>>
> > >>--
> > >>Ajith Ranabahu
> > >>
> > >>
> > >>
> > >
> > >
> > >
> >
> > --
> > The best way to predict the future is to invent it - Alan Kay
> >
> >
>
>
>
>


Mime
View raw message