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