ws-sandesha-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chamikara Jayalath <>
Subject Re: [Sandesha2] The Policy model
Date Fri, 11 Nov 2005 06:36:17 GMT
Hi Jaliya,

For the client side
The policies will be decided at the stub generation time only (stub will be
generated using the wsdl of the service which has the policies). The way
this information is available for the module is only as a property of the
message context . The thing is, client will be talking to different
endpoints or different opeartions of the same endpoint. In both these cases
Policies will vary from Message Context to Message Context (ok may be its
from op. context to op. context but any way the idea is the same - it
varies). So it should be a property of some context and the Sender should
use this information to decide the things like retransmission of each

For the server side
Only for consistency. Each message context will be filled with the same
policy infromation if they are from the same service and the same operation.
(So what u say is right for the server side :) )

This way the RM Sender code can be generalized. Sender will work at the
message context level (just like Sandesha1). It will use the policy
information of each Message Context to adjust the next retransmission time


On 11/11/05, <> wrote:
> Hi Chamikara,
> When we design Axis2 the model that we discussed to handle policies was as
> follows.
> Axis2 handle the policies and each module can access the policy elements,
> which will be there in some context (service context)
> Please clarify why do we need to pass them around, if we can access them
> from anywhere.
> Thanks,
> Jaliya
> ----- Original Message -----
> From: Chamikara Jayalath
> To:
> Sent: Thursday, November 10, 2005 8:30 PM
> Subject: [Sandesha2] The Policy model
> Hi All,
> I'm working on implementing the policy model for sandesha2. Sanka has
> already created a RMPolicyBean and a PolicyUtil class which can be used
> to extract a RMPolicyBean out of a large Policy OM Element. The problem is
> how to pass this extracted information around the Sandesha2 framework.
> This is what I have in mind.
> Each messageContext should have an associated RMPolicyBean which contains
> its policy information. In the client side this information will be set by
> the user (probably wrapped by the stub). In the server side, a fixed set
> of policy values (given in the module.xml) will be loaded to the
> RMPolicyBean. This infoamtion will be later set to each messageContext.
> Here are how these policies can be used.
> Rretransmission interval, exponention backoff
> -----------------------------------------------------------------
> The RetransmitterBean will adjust the nextTimeToSend after each
> retransmission. To calculate the nextTimeToSend, the sender will use these
> two policy values (with the sentCount property which gives the no. of
> times the message has been retransmitted) which can be obtained from the
> associated RMPolicyBean of the current message Context.
> Acknowledgement interval
> -------------------------------------
> When adding a ack message the timeToSend will alsays be set to
> currentTime+Acknowledgement Interval so that the ack message will not be
> send before the interval get expired. When the sender detect an
> applicationMessage it will look for an ack of the same sequence. If it
> find one, the ack will be piggybacked. otherwise the ack will be sent as a
> standalone message.
> Inactivity timeout
> ------------------------
> Each sequence has an associated lastRespondedTime property which gives the
> last time the other end responsed. Sender thread in it's each loop will
> look at the the lastRespondedTime of each sequence, if it find tha
> currentTime>lastRespondedTime+inactivityTimeout it will end that sequence.
> Comments ???
> Thanx,
> Chamikara

View raw message