Great. :-)

Chamikara


On 2/7/07, Rajith Attapattu <[EMAIL PROTECTED]> wrote:

Using the null object pattern is a bit more elegant :)
But I certainly understand the importance of performance.

As dims pointed out if a developer forgets to do the null check let them
pay for it :)
I will make this change ASAP.

Rajith

On 2/6/07, Chamikara Jayalath <[EMAIL PROTECTED]> wrote:
>
> Hi Rajith,
>
> Yes. This was one of the comments in my list :-)
> Lets do it that way and get rid of the NullClusterManager.
>
> Chamikara
>
>
> On 2/6/07, Rajith Attapattu <[EMAIL PROTECTED]> wrote:
> >
> > Further more if doing an empty method is a problem then if the cluster
> > tag is empty I could just make the
> > axisConfig.getClusterManager() return null instead of a
> > NullClusterManager.
> >
> > This way I could do 3 checks for null instead of 3 NOP calls.
> >
> > Regards,
> >
> > Rajith Attapattu
> > Red Hat.
> >
> > On 2/6/07, Rajith Attapattu <[EMAIL PROTECTED]> wrote:
> > >
> > > OK Bill, not so fast :)
> > >
> > > I don't call the ClusterManager for every property Change.
> > > I have a slightly modified interface, not the one chamikara
> > > provided.
> > >
> > > I only replicate at the end of an invocation.
> > > So here are the no of calls per invocation.
> > >
> > > if first request, 3 calls.
> > > One for Service Group ctx creation, one for service ctx creation,
> > > one for stateUpdate.
> > >
> > > for subsequent invocations
> > > only one call. State update.
> > >
> > > Now thats not bad.
> > > I don't think just 3 NOP's at the max and 1 NOP at the minimum is
> > > that much of a performance impact :)
> > >
> > > Regards,
> > >
> > > Rajith Attapattu
> > > Red Hat.
> > >
> > >  On 2/6/07, Bill Nagy <[EMAIL PROTECTED]> wrote:
> > > >
> > > > That's what I inferred from the interface -- any time there is a
> > > > context
> > > > change or a property change, you want your interface to be
> > > > invoked.
> > > > That's an awful lot of method invocations (even if they're no-ops)
> > > > for
> > > > something arguably not core to a web services runtime.
> > > >
> > > > -Bill
> > > >
> > > > On Tue, 2007-02-06 at 21:32 +0530, Chamikara Jayalath wrote:
> > > > > Hi Dims,
> > > > >
> > > > > As this is still is its design stage final approach hs not been
> > > > > decided. The current code is available in a branch so no affect
> > > > on the
> > > > > performance of the trunk.
> > > > >
> > > > > A method of the ClusterManager instance hs to be called in
> > > > events such
> > > > > as Context creation and removal. Currently these directly get
> > > > called
> > > > > from respective places of the context classes (should happen
> > > > only if a
> > > > > ClusterManager hs been set i.e. when clustering is enabled).
> > > > >
> > > > > Chamikara
> > > > >
> > > > >
> > > > > On 2/6/07, Davanum Srinivas < [EMAIL PROTECTED]> wrote:
> > > > >         Chamikara,
> > > > >
> > > > >         New notifications? like what we have already for
> > > > >         services/modules?
> > > > >
> > > > >         -- dims
> > > > >
> > > > >         On 2/6/07, Chamikara Jayalath <[EMAIL PROTECTED]>
> > > > wrote:
> > > > >         > Hi Bill, Dims,
> > > > >         >
> > > > >         > The ClusterManager impl will be initiated with the
> > > > >         ConfigContext. This will
> > > > >         > be called in places like Context Creation and removal
> > > > and
> > > > >         may be property
> > > > >         > updates (hvnt fully decided yet). When Clustering is
> > > > not
> > > > >         present the cost
> > > > >         > should be reduced to a null check.
> > > > >         >
> > > > >         > Chamikara
> > > > >         >
> > > > >         >
> > > > >         >
> > > > >         >
> > > > >         > On 2/6/07, Davanum Srinivas <[EMAIL PROTECTED]> wrote:
> > > > >         > > Bill,
> > > > >         > >
> > > > >         > > from what i understand, it's in a separate maven
> > > > module.
> > > > >         Not in
> > > > >         > > kernel. So you can ignore it :)
> > > > >         > >
> > > > >         > > -- dims
> > > > >         > >
> > > > >         > > On 2/6/07, Bill Nagy < [EMAIL PROTECTED] > wrote:
> > > > >         > > > What is the cost of this going to be for someone
> > > > who
> > > > >         doesn't want
> > > > >         > > > clustering/this particular approach to
> > > > clustering?  I
> > > > >         can't infer much
> > > > >         > > > from the interface -- exactly which respective
> > > > events
> > > > >         are you referring
> > > > >         > > > to?
> > > > >         > > >
> > > > >         > > > -Bill
> > > > >         > > >
> > > > >         > > >
> > > > >         > > > On Thu, 2007-02-01 at 23:16 +0530, Chamikara
> > > > Jayalath
> > > > >         wrote:
> > > > >         > > > > At initiation Axis2 will load a ClusterManager
> > > > >         implementation object
> > > > >         > > > > (if configured) and will call the methods of it
> > > > >         whenever respective
> > > > >         > > > > events occur.
> > > > >         > > > >
> > > > >         > > > > Chamikara
> > > > >         > > > >
> > > > >         > > > >
> > > > >         > > > > [1] ClusterManager interface
> > > > >         > > > >
> > > > >         > > > > public abstract class ClusterManager {
> > > > >         > > > >
> > > > >         > > > >     public abstract void init
> > > > (ConfigurationContext
> > > > >         context);
> > > > >         > > > >     public abstract void addContext
> > > > (AbstractContext
> > > > >         context);
> > > > >         > > > >     public abstract void removeContext
> > > > >         (AbstractContext context);
> > > > >         > > > >     public abstract void addProperty
> > > > (AbstractContext
> > > > >         context, String
> > > > >         > > > > propertyName, Object  propertyValue);
> > > > >         > > > >     public abstract void removeProperty
> > > > >         (AbstractContext context,
> > > > >         > > > > String propertyName);
> > > > >         > > > >     public abstract void touchProperty
> > > > >         (AbstractContext context,
> > > > >         > > > > String propertyName);
> > > > >         > > > >     public abstract void commit ();
> > > > >         > > > >
> > > > >         > > > > }
> > > > >         > > > >
> > > > >         > > >
> > > > >         > > >
> > > > >         > > >
> > > > >         >
> > > > >
> > > > ---------------------------------------------------------------------
> > > > >         > > > To unsubscribe, e-mail:
> > > > >         > [EMAIL PROTECTED]
> > > > >         > > > For additional commands, e-mail:
> > > > >         [EMAIL PROTECTED]
> > > > >         > > >
> > > > >         > > >
> > > > >         > >
> > > > >         > >
> > > > >         > > --
> > > > >         > > Davanum Srinivas :: http://wso2.org/:: Oxygen for
> > > > Web
> > > > >         Services Developers
> > > > >         > >
> > > > >         > >
> > > > >         >
> > > > >
> > > > ---------------------------------------------------------------------
> > > > >         > > To unsubscribe, e-mail:
> > > > >         > [EMAIL PROTECTED]
> > > > >         > > For additional commands, e-mail:
> > > > >         [EMAIL PROTECTED]
> > > > >         > >
> > > > >         > >
> > > > >         >
> > > > >         >
> > > > >
> > > > >
> > > > >         --
> > > > >         Davanum Srinivas :: http://wso2.org/ :: Oxygen for Web
> > > > >         Services Developers
> > > > >
> > > > >
> > > > ---------------------------------------------------------------------
> > > > >         To unsubscribe, e-mail:
> > > > [EMAIL PROTECTED]
> > > > >         For additional commands, e-mail:
> > > > [EMAIL PROTECTED]
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> >
>

Reply via email to