Memory Object Caching System in Java (J2EE)

I needed a memory-caching system in some of features, I wrote simple-caching system but it was too simple and can't scale (distributed).

I have heard about memcached and found it's Java port j-memached which seems to be little complex to setup?

I looked at JCS and EHCache. I chose EHCache because it was already in use somewhere in our application and I could do most of things with it:-