Hi Andrei,

Am 05.10.2012 um 20:54 schrieb Andrei Pozolotin:

> Felix: great. can you please share link - what do you mean by "upcoming
> spec "? Andrei.

There is nothing public yet except the requirements available from OSGi Bug 147 
[1] (where you commented already)

The rest is work in progress in the OSGi Aliance which I cannot share yet. But 
the API will be based on what's in my sandbox at [2] (though there will be some 
changes).

The "upcoming spec" is the spec enhancements we do to implement RFP-151 from 
Bug 147.

Regards
Felix

[1] https://www.osgi.org/bugzilla/show_bug.cgi?id=147
[2] http://svn.apache.org/repos/asf/felix/sandbox/fmeschbe/dsadmin/

> 
> -------- Original Message --------
> Subject: Re: [DS] Feedback wanted on some ideas
> From: Felix Meschberger <fmesc...@adobe.com>
> To: dev@felix.apache.org <dev@felix.apache.org>
> Date: Fri 05 Oct 2012 01:48:41 PM CDT
>> 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
>>>> 
>>>> 
>>>> 
>> 
> 

Reply via email to