Hi, Am 03.10.2012 um 19:39 schrieb Andrei Pozolotin:
> great ideas; one more for your consideration > http://www.osgi.org/javadoc/r4v41/org/osgi/service/component/ComponentContext.html#enableComponent(java.lang.String) > <http://www.osgi.org/javadoc/r4v41/org/osgi/service/component/ComponentContext.html#enableComponent%28java.lang.String%29> > """ > > public void *enableComponent*(java.lang.String name) > > Enables the specified component name. The specified component name > must be in the same bundle as this component. > > """ > > instead, I suggest to permit traversal of bundle boundaries, so > enable/disable target can be anywhere. No. This would open security doors/holes. And as David indicates: The ScrService as well as the upcoming spec will allow for administrative enablement and disablement accross bundle boundaries (and the spec will include security considerations). Regards Felix > > -------- Original Message -------- > Subject: [DS] Feedback wanted on some ideas > From: David Jencks <david_jen...@yahoo.com> > To: dev@felix.apache.org > Date: Wed 03 Oct 2012 12:28:49 PM CDT >> I've had several ideas about DS enhancements, some of which I've >> implemented, and would like some feedback about how desirable they are >> before committing or proceeding with them. >> >> 1. (FELIX-3692) If you manually enable/disable components some of the work >> gets done asynchronously. I propose an api for finding out whether this >> work is done or waiting for it, something like >> >> boolean tasksCompleted(); >> >> void waitForTasksCompleted(); >> >> >> on ScrService. (suggestions for better names welcome :-) One use would be >> in our tests to replace the delay() call. >> >> 2. (FELIX-3557) There are several circumstances in which, as the spec >> warns, you can't establish a circular dependency between components. In >> some of these cases, the order in which the components are activated >> determines whether all the references are established. This is hard to >> understand from a users point of view :-). Sometimes it's possible to >> detect these situations and establish the reference asynchronously. The >> patch attached to the issue does this but needs a little more work to only >> try with services from DS components. >> >> For these two, I'm wondering if they would be useful enough to propose for >> the DS 1.3 spec. >> >> 3. (re-proposal) I'd like to propose moving the implementation to java 5 >> again with generics etc. The last time I suggested this there was a lot of >> pushback on the grounds that there are a lot of people using DS on limited >> platforms. However, none of these alleged :-) people is using trunk, >> because for several months the classes pulled from the concurrent library >> were wrong and trunk just didn't run on pre-java-5 vms. Are the compendium >> 4.3 spec classes we pull in even compatible with pre-java-5 vms? >> >> 4. (radical idea I haven't tried yet) I'm becoming increasingly convinced >> that the state objects in AbstractComponentManager mostly cause confusion >> and make the code more complicated and less reliable. The spec really only >> describes two states, enabled and disabled. The variations on enabled -- >> whether the component has all its dependencies satisfied, whether the >> service is registered, whether there are any implementation objects created >> -- all seem somewhat orthogonal and depend very much on the environment and >> don't seem to relate well to a single "dimension" of state. I'm considering >> trying to refactor the code that responds to outside actions >> (activate/deactivate and dependencies appearing/disappearing) to be more >> "straight-through" with checks on the specific aspects of state that they >> need. Possibly we would want to put the "dynamic state" such as >> dependencies + instances in a single state object, but this is a different >> approach to the current state objects which have no internal state. >> >> >> thanks >> david jencks >> >> >> >