|[mylyn-dev] Notifying of notifications isn't thread safe, and should be doc'ed as such|
(or fix it in the framework…)
Just wanted to share my experience using Notifications.getService.notify(List<AbstractNotification>). We found that if you call that from multiple threads concurrently, there’s a loss of notification due to an exception that occurs (in a pretty silly way frankly) in PopupNotificationSink:
“notify” always calls “setSystem” on the Job. Eclipse throws an exception when that method is called while a Job is in any state other than NONE (so if the job is running…)
Now, you could avoid this exception by simply not calling setSystem each time – call it at Job construction time (the runSystem is a final boolean…)
Or, if you don’t want to promise thread-safety, doc it. But I think a notification thing like this should definitely, in its framework, be thread safe.