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]
> > > >
> > > >
> > >
> >
>