>>> "Caching" is an optimization strategy to improve throughput and scalability. >>> Currently, we have no idea where we need to optimize, haven't we? >> >> Yup it is. However, we have to start thinking about this. Well we know >> how XMPP Server works and >> we can atleast start putting our thoughts in place. >> >>> What do you think would be the benefit of introducing such a "global >>> implementation"? What would be its features and benefits? >> >> Let me simplify it a bit. We have a cache implementation. How about >> using the same implementation >> by all. The user like presence, roster etc can just customize the way >> they see cache. >> >> Here is what I feel should be the requirements >> 1. CacheProvider - SPI like implementation to plugin custom caching >> implementation. Our Server Users can choose what works best for them >> 2. Modules don't rewrite specific cache implementations, unless a >> situation demands so. They rely on the global implementation. Please >> note that global implementation doesn't means single cache. There can >> be multiple cache's with or without replication. Even as of today we >> use two cache instances for Presence, one based on Entity and other is >> based on JID >> >> The benefit is code reuse and ease of maintenance :-) > > You mean you want to share code and build something like a "cache > abstraction layer"? I found the current implementations to be quite > lightweight and don't yet see the benefit.
Not yet, but shall the details as soon as I have more concrete design. -- thanks ashish Blog: http://www.ashishpaliwal.com/blog My Photo Galleries: http://www.pbase.com/ashishpaliwal