In class GetInstancesFromServiceLoader, thrown ServiceConfigurationErrors are not logged:
There are cases where it would be useful if these were logged after all.
Take for example the case where a developer adding a new ConstraintValidator has made a mistake and has not provided a no-args constructor for the validator. ServiceLoader will in this case fail to load the ConstraintValidator, but this will not be obvious to the developer.
Indeed, we should probably log an error.
do you have any recollection of why it was totally ignored in the first place? Can we consider logging an error with the exception but still ignore it?
I don't quite remember unfortunately. Can you tell apart a missing no-arg constructor from classloader-incompatibility perhaps, e.g. by examining the exception's cause? But in general I'd agree that logging something seems reasonable.
In case of the missing no-arg constructor, the cause of the ServiceConfigurationError appears to be an InstantiationException