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.

Reply via email to