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