I was vaguely aware of this RFC but that is an extension to the DS Components 
isn't it? That will have more capabilities I assume since you're not restricted 
to the features of the current spec. 

This is basically a continuance of the aggregate service but with a bit smaller 
scope. The Aggregate Service had some basic limitations because not all 
components shared the same view at the same time.

It is a tricky area.

I read the RFC in detail. Kind regards,

        Peter Kriens



> On 26 Jun 2019, at 14:29, BJ Hargrave <hargr...@us.ibm.com> wrote:
> 
> This seems just like 
> https://github.com/osgi/design/blob/master/rfcs/rfc0242/rfc-0242-Condition-Service.pdf
>  
> <https://github.com/osgi/design/blob/master/rfcs/rfc0242/rfc-0242-Condition-Service.pdf>
>  
> Are you making an alternate design? Or did you not know of this RFC?
> --
> 
> BJ Hargrave
> Senior Technical Staff Member, IBM // office: +1 386 848 1781
> OSGi Fellow and CTO of the OSGi Alliance // mobile: +1 386 848 3788
> hargr...@us.ibm.com
>  
>  
> ----- Original message -----
> From: Peter Kriens via osgi-dev <osgi-dev@mail.osgi.org>
> Sent by: osgi-dev-boun...@mail.osgi.org
> To: via bndtools-users <bndtools-us...@googlegroups.com>, 
> osgi-dev@mail.osgi.org
> Cc:
> Subject: [EXTERNAL] [osgi-dev] Conditional Target
> Date: Wed, Jun 26, 2019 08:26
>  
> I've developed a service that you can use to block the activation of a DS 
> component until a set of other services are ready. This is related to the 
> whiteboard pattern when the sender wants to be sure a certain set of 
> whiteboard services are present. Normally you can only assert the properties 
> of 1 service but this allows you to use a filter to select the aggregated 
> properties of a group of services. An example is when you need a set of at 
> least 3 remote services where there are at least 2 unique regions. 
>  
> For example, you want to block until the average of the `foo` properties on 
> the registered Foo services is higher than 2:
>  
> @Reference( target="([avg]foo>=2)" )
> ConditionalTarget<Foo> foos;
>  
> The Conditional Target object provides a direct reference to the services and 
> service references being tracked as well as the aggregated properties. 
>  
> It is described in 
>  
> https://github.com/aQute-os/biz.aQute.osgi.util/tree/master/biz.aQute.osgi.conditionaltarget
>  
> <https://github.com/aQute-os/biz.aQute.osgi.util/tree/master/biz.aQute.osgi.conditionaltarget>
>  
> And you can find the binary artifact in:
>  
> https://oss.sonatype.org/content/repositories/snapshots/biz/aQute/biz.aQute.osgi.conditionaltarget/
>  
> <https://oss.sonatype.org/content/repositories/snapshots/biz/aQute/biz.aQute.osgi.conditionaltarget/>
>  
> Feedback appreciated on the idea and execution. If people like this, I can 
> submit it to Apache Felix if they're interested.
>  
> Kind regards,
>  
> Peter Kriens
> _______________________________________________
> OSGi Developer Mail List
> osgi-dev@mail.osgi.org
> https://mail.osgi.org/mailman/listinfo/osgi-dev 
> <https://mail.osgi.org/mailman/listinfo/osgi-dev> 
>  
> 

_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to