I have a DS component that is not enabled when started. It won't be enabled until some conditions are satisfied. So I manually call ComponentContext.enableComponent to enable the specified component. However, the implementation of equinox's ds indeed do the enabling operation in a work thread. My app intermittently suffer the NPE when using the service due to the enabling operation is not completed yet in other thread.
I read the source code of equinox's ds, but I don't see any event is broadcasted after enabling a component. Is there a way to be notified after the component is changed? Or enable the component via a synchronized calling.