Hi, I 100% agree with Ruwan, that a global configuration shall not address individual services, endpoints or sequences. This would make the configuration extremely hard to read and understand. I think of this more in an object oriented fashion as properties of the elements inheriting defaults from their parents. Anyway I think I already stated my idea.
I’m not against the idea of defining named policies/aspects and reference them on any level, but at the moment, I do not see the big value. It would make perfectly sense, if such a configuration would consist of many sub configuration elements we would like to share across multiple configuration elements. For a single boolean or even a set of booleans, this might not make it easier to understand without adding any extra value. Anyway I can’t imagine a useful referenced bundling of individual aspects. Maybe I got something wrong with your last idea Ruwan, but wouldn’t the user end up with some fancy named aspect configurations like this ALL-OFF, ALL-ON, ONLY_STATISTIC, ONLY_TRACING, ONLY_NOTIFICATION, STATISTIC_AND_NOTIFICATION and thousands of other potentially useful combinations just to reuse the combination of Booleans? This doesn’t sound like being of help. Indika proposed a policy definitions per aspect type to externalize, if I got it right. This would make sense for me at the moment a policy could contain more elements than just the Boolean, e.g. a certain further filtering – on, but only for some defined events. In order to not have to redefine those filters all over the place, one could reference a policy definition. Could make perfectly sense and would be very open for more complex aspect configurations. Too me the concept of inheritance from global definitions across the different levels would help most to reduce the configuration amount. And this is independent from using simple attributes with on/off or complex referenced policies. So maybe all ideas can be integrated into a good solution? Regards, Eric ________________________________ From: Ruwan Linton [mailto:ruwan.lin...@gmail.com] Sent: Saturday, December 05, 2009 3:44 AM To: dev@synapse.apache.org Subject: Re: JMX notifications for Endpoint state changes Hhhmmm, not sure whether it is good to keep a one global aspect configuration which configures all the child nodes even when you need to turn on statistics (for example) for a given sequence, that will make the configuration readability harder. I would think of the implementation when deciding the configuration design, so that it is not affecting the performance as well. I would like to keep a global configuration of aspects, yes as Supun explined that can define whether all services, all endpoints or sequences.... but not a named entity. The default behaviour will be at global level all these will be turned off for all types of entities. Then at each and every element level you can define there aspects using the same configuraiton. Alternately, we could let the aspect configurations to be refered from from all the elements, inorder to make this work we need to be able to define a named set of aspects and from services and sequences they can refer to its aspect. It will enable us to reuse the aspect configuraitons of the same type within different elements without redefining. Being said all that I would like to do the initial implementation of this, considering the amount of change that this idea is going to take us. Thanks, Ruwan On Sat, Dec 5, 2009 at 2:04 AM, Supun Kamburugamuva <supu...@gmail.com<mailto:supu...@gmail.com>> wrote: Hi, If we can define the statistics enabled endpoints or mediators at the top level aspect configuration we can leave the aspect configuration element only to the top level. This reduce the clutter from the specific component configurations. Specific component configurations can focus only on what they are mean to do. Things like statistics collection can be separated from the mediator configurations. Thanks, Supun.. On Sat, Dec 5, 2009 at 1:56 AM, Hubert, Eric <eric.hub...@foxmobile.com<mailto:eric.hub...@foxmobile.com>> wrote: I would vote for both, on global and on those child elements where it is applicable with the simple rule, that at runtime the most specific one wins. This would allow for the following scenarios. Turn it off for all (globally) Turn it off globally, but only activate it on demand for specific endpoints, services etc. Turn it on globally Turn it on globally, but disable it for some specific services, endpoints (exclusions) Of cause you could also add a configuration right in the middle on the level of the services or endpoints etc., if someone also wants to turn an aspect only on for ALL services, but not for all endpoints, but just some of them. Regards, Eric ________________________________ From: Supun Kamburugamuva [mailto:supu...@gmail.com<mailto:supu...@gmail.com>] Sent: Friday, December 04, 2009 8:15 PM To: dev@synapse.apache.org<mailto:dev@synapse.apache.org> Subject: Re: JMX notifications for Endpoint state changes +1 from me as well to the new aspect configuration. This solves the problem more cleanly. I'm not clear about one thing. Shall we make this aspect configuration to be a child of other elements like mediators and endpoints or is it a top level configuration only? Thanks, Supun.. On Fri, Dec 4, 2009 at 2:23 PM, Ruwan Linton <ruwan.lin...@gmail.com<mailto:ruwan.lin...@gmail.com>> wrote: +1, we should go for this, and I think it will be very useful in a production set up; if anything goes wrong and the admin wants to enable tracing for the full synapse config he do not have to go onto each and every config bit. OTOH, if he knows where the issue is he can just enable tracing of that proxy only. Thnaks, Ruwan On Fri, Dec 4, 2009 at 2:14 PM, Hubert, Eric <eric.hub...@foxmobile.com<mailto:eric.hub...@foxmobile.com>> wrote: Well, actually I thought in the same direction as Ruwan. If introducing a global configuration option it should be consistent with the other configurations like tracing and statistics. This was one point against adding this only for any newly introduced feature like JMX notifications. If we would like to use such a configuration option, than we should consistently support this also for statistics and tracing. ________________________________ Hi Ruwan, I think if we do this the correct way, the way you've suggested is the correct way. I was bit reluctant to do that because it is kind of like a big change. At least at the conceptual level. I like your idea and I'll come up with an implementation. Eric, What do you think? -- Ruwan Linton Technical Lead & Product Manager; WSO2 ESB; http://wso2.org/esb WSO2 Inc.; http://wso2.org email: ru...@wso2.com<mailto:ru...@wso2.com>; cell: +94 77 341 3097 blog: http://ruwansblog.blogspot.com -- Software Engineer, WSO2 Inc http://wso2.org supunk.blogspot.com<http://supunk.blogspot.com> -- Software Engineer, WSO2 Inc http://wso2.org supunk.blogspot.com<http://supunk.blogspot.com> -- Ruwan Linton Technical Lead & Product Manager; WSO2 ESB; http://wso2.org/esb WSO2 Inc.; http://wso2.org email: ru...@wso2.com<mailto:ru...@wso2.com>; cell: +94 77 341 3097 blog: http://ruwansblog.blogspot.com