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