Lets discuss future tasks.
While we bask in the glory of our recent achievement, I am making a short list of things to do ( not to dampen our moment of victory ) . I will then work up a rough plan of action after. Here is the TODO list ( please join in and enhance this list)
1. Code clean up and reorganization. Leon wanted to re-organize the resource adapter structure and we agreed this is a good idea. Now is the time to do it. Leon, please go for it and test against the tck before commit. Some classes have become pretty huge - notably SleeContainer. I will work on splitting this into more manageable classes.
2. Adding multi-threading to the container. This involves refactoring the router. We need to create one event queue per activity and have a single consumer thread per activity because events are supposed to be consumed in FIFO order.
3. Adding persistence - we have replicated activities, services, profiles and deployment. Services, deployment and profiles need to go into persistent store ( with repeatable-read consistency model ).
4. Failover - this is a big one. We need to make sure that our container is resilient ( after all that is one of the major requirements ).
5. Optimization - right now if a single piece of a structure is changed, the entire structure is pushed into the cache. Cache access needs to be optimized.
6. Looking for TreeCache alternatives ( maybe ). I am not sure what the performance of researched is versus other cache solutions such as the apache cache we discussed earlier. The key observation here that could lead to better performance is that we dont need a full JTA implementation. The downside ( and this is a pretty big down side ) is that TreeCache is nicely integrated with hibernate whereas the apache solution is not. Maybe we can use both but this is a bit of work and we need to carefully discuss whether we want to launch into this and what will be the potential payoff.
I am sure there is more to this list. Do enhance it if you can think of other things.