On 15 Oct 2010, at 10:46, Vidar Ramdal wrote: > Is this safe, or is the ObservationManager retrieved by > session.getWorkspace().getObservationManager() tied to the session > from which it was acquired?
In general its not safe since the session the observation manager was created with (which must stay logged in for the ObservationManager to remain active) is stored internally and used internally. There is one point where a check is made to ensure the same session is connected to dispatches, however, in the case of removeEventListener although some new objects are created that are bound to the original session those objects are only used as keys to facilitate removal of the listener so you should be Ok. BTW, Using a session inside an event listener will almost certainly lead to massive blocking and potentially even deadlocks as the lower levels are protected (post 1.4 IIRC) to allow sessions to be shared between multiple threads without doing permanent damage, so think of the onEvent and the class/session that bound the on event as completely separate (and unfriendly) threads that will conflict. ie, be very careful what you share inside and outside the onEvent method. HTH Ian
