Tonight I've made some commits to these tests to:
* Fix compilation in JDK5
* A Remove concurrency problem which lead to BrokenBarrierException
* Add a test that Removal is not blocked by Passivation for a given Session
So I think our test coverage is now at a point where we can say that SimpleStatefulCache is better than in previous releases.
However, a lot bothers me will this whole setup:
1) Poor documentation for concurrency. What objects must be guarded by what locks?
2) StatefulBeanContext should be Thread-safe. We should be encapsulating its locking policies internally.
3) The EJBTHREE-1549 tests are tightly bound to the implementation of SimpleStatefulCache. Instead, we should be coding the tests to an SPI (from ejb3-cache) and able to plug in whichever Cache implementations we'd like.
Just wanted to get these observations down so we can revisit them when integrating ejb3-cache and Brian's work. I do think we have something good enough now that we can proceed w/ EJB3 Core releases again. And then we'll have Andy run his performance tests on there to reveal we squashed the "stops the world" problem during passivation.