[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] When is DS done loading services?

Richard S. Hall wrote:
> I don't think that what I said makes any assumptions about knowing the
> exact dependencies. I think my point agrees with what you are saying,
> which is that you have to wait for all plugins to start up (including
> waiting for their dependencies on each other to be resolved) before you
> can plug them into this core component that is going to use them.

Now I see your point (I think:) You are correct, but even without
dynamism, you need some guarantee that if bundle is started, it is
initialized (if all dependencies are available upfront). With
asynchronous DS you don't have this.
If not all dependencies are available, the unsatisfied components will
be registered synchronously with their required services becoming
available (which will happen in some other bundle's start() method in
most cases). The overall result is that after all bundles are started,
all services (which doesn't depend on external factors) are registered.

> The framework STARTED event has nothing to do with the readiness of the
> application running on top of the framework, it has to do with the state
> of the framework. The application must determine when it is ready. How
> would the framework ever know if the application is "ready"?

You are right. But the DS asynchronous can make it hard to know when the
application is ready, if the application don't know what it is waiting
for. framework STARTED event seems to be the only valid event, which can
be used.

> -> richard

Danail Nachev
Senior Software Engineer/Development Tools
ProSyst Labs EOOD
stay in touch with your product.