Hi,

In Tuscany, we can declare service implementations using the 
META-INF/services/<SPI name> pattern. One of the use cases is to allow some of 
the implementations to be replaced to fit the hosting environment. If there are 
more than one services with the same name are available, we randomly pick the 
"first" one. This makes the "replacement" not straightforward. 

To fix this problem, I added the support for the "ranking" attribute (FYI, OSGi 
has the idea for services). The discovered system services will be sorted based 
on the ranking (if not present, default to 0). For example, we can use it to 
control which embedded HTTP server (Tomcat or Jetty) is used. The attribute can 
be potentially used to define the ordering of multiple extensions for the same 
extension point. 

Thanks,
Raymond

Reply via email to