Not sure if I’d call that “little-known”. Greg.
On Dec 17, 2013, at 9:12 AM, Peter <j...@zeus.net.au> wrote: > Remote objects, when exported are exposed to multiple threads. > > Even when a Remote object only has one client, the clients calls will be > despatched via a thread pool to the exported object, every method call is > likely to be invoked by a different thread. > > If your exported objects aren't thread safe the method despatch threads are > not guaranteed to see each others changes to the mutable state of your > exported object. > > No Jini releases were designed for the new Java Memory Model that accompanied > Java 5, in fact the first release designed for Java 5 was an Apache River > release. > > We have been strangely fortunate in spite of no services in any existing > releases to date being safely constructed, we've experienced few noticable > consequences, other than some random test failures on Jenkins. To continue > using the existing codebase and do nothing would ensure River's extinction. > > The skunk/qa_refactor branch uses safe construction tehniques and export > after construction, it's had sweeping changes made internally to classes to > significantly improve Java Memory Model compliance. > > If you haven't checked out this branch, now's the time to do so. > > Regards, > > Peter.