On Jan 29, 2014, at 10:29 AM, Alan Bateman <alan.bate...@oracle.com> wrote: > I just wonder if you could change initialized to volatile and only > synchronize/wait when false? That way you would only be adding a read of a > volatile. I assume the stub can never be null so maybe it could be changed to > volatile and only wait if null (the initialized flag could go away then). >
I was wondering the same thing. > One other comment (assuming the current approach goes ahead) is that you > could change lookup, bind, unbind so that they only await when the name is > not ActivationSystem. Also list doesn't appear to need the stub so maybe the > await is not needed there. > This is rather mysterious. The only direct reference to systemStub is in lookup if name.equals(NAME) and the bind/unbind/rebind all barf on that condition, does either the throwing of the exception to the call to the super method result in a call to lookup(NAME) ? Paul.