On 12/05/2016 08:00, Sander Mak wrote:
Hi,

I noticed that it is possible to reflectively add uses for a service in a 
module, but not to provide a service implementation. I'm curious what the 
reason is for this asymmetry. I would imagine that calling ServiceLoader.load() 
from another module could just return the new service implementation (in 
addition to existing ones) after a hypothetical j.l.r.Module.addProvides was 
called.

So far then we've had (to my knowledge anyway) only one case where this looked like it might be needed on the command line but we found another solution to that specific issue.

So no plan at the moment to add this, we want to see if there are compelling cases where service providers are created dynamically in (existing) modules before deciding whether to define this method or not. To be honest, I don't particularly like addUses but there are a few cases where libraries/frameworks need to locate service providers on behalf of consumers and so don't have any upfront knowledge about the service type.

-Alan.

Reply via email to