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