In response to Wade's HashMap comments... I've wondered for a while if a JavaSpaces implementation could be built on ConcurrentMap. If so, and if the implementation were pluggable at runtime, one could provide Infinispan (http://www.jboss.org/infinispan/) caches (which implement ConcurrentMap) to serve as the store for the JavaSpace. Persistence, and/or clustering could then be left to Infinispan to handle.
There could be any number of pitfalls here, but I've wondered if it might provide a flexible and powerful platform for scaling Outrigger. -jeff
