Hi

Why not using a whiteboard pattern. You can have kind of controller service 
acting as whiteboard on « business » services. 
When a service pop up, the controller can deal with it. 

Regards 
JB

> Le 4 nov. 2021 à 10:13, Serge Démoulin <[email protected]> a écrit :
> 
> 
> Hi
> 
> We are developing a platform based on bundles
> Our products are based on this platform. 
> product = platform bundles + product specific bundles
> 
> A product can change the behaviour of the platform by implementing singleton 
> OSGi services
> 
> 
> We would like make these service optional but it's not easy
> Therefore if the platform doesn't find such a service there too possibilities
> - the product doesn't implement this service. The platform behaviour stay 
> unchanged, alright
> - the product intends to implement the service in a bundle but the bundle 
> that implement this service is broken. In this case the product has not the 
> right behaviour
> 
> The complex solution that we implement is
> Such service is seen as mandatory by the platform and the platform has a 
> default implementation of the service in a bundle .
> The build of the product removes this bundle and bring its own bundle
> 
> This build is error-prone and expensive to realize. 
> 
> Do have an idea how we should have optional service but detect if the product 
> intends to implement the service (without integration tests in the product 
> that test the correct behaviour) ?
> 
> An idea for instance
> If the service are declare with @Component 
> Scan every MANIFEST.MF to find pretty exactly which services are intended to 
> be implemented
> 
> Best regards
> 
> Serge 

Reply via email to