Hi,

I think such an API will start to be useful for people interested to implement distributed or clustered services. At this stage, there is not a real need for such a capability; so, this may be a little bit premature to introduce it.

After some experiments with an API similar to the proposed one, I have reached the conclusion that the methods Node.getNodeAttributes and NodeListener.onNodeChange are not so great. Basically, you do not know which attributes have been changed and when they are propagated. So, if you had to write two services relying on nodeAttributes to exchange information, then the only way that I have been able to make such a thing work is to: timestamp each Map entry; check the existence of the entry you are interested in to filter out the irrelevant nodeChange events; store somewhere the timestamp of the last processed entry; and compare the timestamp of the Map entry with the one of the last processed entry. There are more elegant solutions; yet they require custom code on top of the API, which should simplify developers' life.

Thanks,
Gianny

On 12/10/2006, at 7:44 AM, Filip Hanik - Dev Lists wrote:


I addressed the discussion about "what transport" do we use, a long time ago by creating an agnostic API to plug into.
http://marc.theaimsgroup.com/?l=geronimo-dev&m=115281186718399&w=2
http://people.apache.org/~fhanik/geronimo-cluster-api.zip

this way, we can continue the "pluggability" of G, and not pushing any specific protocols. but writing a custom one just for G doesn't sound like a sound solution

in addition to ehcache, I'd like to propose that we take a look at ASF's JCS(Java Cache System) which sits under the Jakarta umbrella.
http://jakarta.apache.org/jcs/index.html

and a performance report http://jakarta.apache.org/jcs/ JCSvsEHCache.html (could be outdated)

sorry about splitting up the gcache discussion, actually it was already split when we started talking about the transport a while back in this thread. However, my take on it is that we should use code already written, while this is all really cool stuff to work on, creating a distributed cache from start is hard and takes a very long time. I would think the main goal is to get to JEE 5 right now.


Filip

Reply via email to