I need to get this word out because I believe it is imperative for all Eclipse programmers to make their plug-ins dynamic aware and dynamic enabled. I actually fault the Eclipse guys for not making this kind of behavior mandatory for all bundles that provide extensions or have extension points. Because it is left up to the developers to “do the right thing” I believe we will see many plug-ins that do not play nicely in a dynamic environment.
Why is this important?
Let's say you want to install new binaries into your application and do not want to have to restart the application. With OSGI this is completely possible. With any Eclipse product like Lotus Expeditor or Lotus Notes it is completely possible. But if plug-ins do not do the right thing, then this breaks everything.
A great article written by Peter Nehrer explains all you need to know about dynamicity and bundles. He gives a great narrative and concrete code examples of how to achieve it. In short, with a few lines of code your plugin will work in a dynamic environment. The book “Eclipse Rich Client Platform” also has an entire chapter dedicated to this subject; you can check out the books web site here.