Well, if I understood it correctly, your approach will also have problems, where this will incur a performance overhead on the actual service invocations, where as, what I suggested just happens at deployment time
>>> It does not really matter whether it is deployment time or runtime, because hot-update happens at the runtime, so there might be so many other invocations going on in the system when you do the hot-update. There is only one Java process.
Because, lets say 1000 unique sessions / 1000 users, will be sending requests, for each request from each of the user, the handler will check if the SessionContext has valid service group context's and service contexts inside that group, so there's some logic that needs to be executed to check whether those contexts are valid and up to date against the ServiceGroups and Services.
>>. I agree, but we have so many these kind of logic processing in Axis2, so I do not see a big issue there.But, it would be much better if we can come up with a good approach.
So compared to that, what I suggested will only happen when a change to a service group / service has occurred and then notified to the SessionContexts, so 1 time 1000 notifications at once. But in what you suggested, there will always be 1000 sessions (provided they are sending requests often), sending 1000 requests always to check up on a state that most probably have not changed for a while.
>> Yes I agree, but there is a problem, when you do so many updates once whole system might become the bottleneck, but if you do the handler approach it will not process all of them once, hence, processing time is distributed. In addition, the intended behavior of Observers is to perform light wight tasks such as creating a RSS/Atom feed when a service get updated.
Anyway this is just my thoughts. If you think this is really needed (I do not see a big reason to implement this feature) and your approach works fine we can commit the code. In the real system hot-updates does not happen so frequently, and in fact Axis2 does not recommend doing hot-update in production settings.