For this situation, it shouldn't be necessary to implement anything at all. The problem is unrelated the specification. I don't see anything in the specification that says that thread class loader is required to find the default provider list in order for the Validation class to work correctly. The problem is in the implementation of the DefaultValidationProviderResolver.
It is very much related to the specification. DefaultValidationProviderResolver as everything else in the javax.validation namespace is the specification. This is not Hibernate Validator code, but rather Bean Validation specification code. And in case you are wondering, there is some code in the specification. Somewhere the default bootstrapping has to be implemented.
That is just a simple software bug. Please fix it.
It is not a bug as such. The solution is a custom ValidatorProdivderResolver. That's why this interface was introduced and the specification explicitly says that it is to be used where special class loading needs have to be met (e.g. in some modularized environments). If you think this is wrong you should create an issue in BVAL which is the Bean Validation issue tracker. For the new version of Bean Validation (version 1.1) there is a discussion on whether it should be possible to pass a class loader to Bean Validation (BVAL-286), but I am not sure whether it would help in this case.
It is very much related to the specification. DefaultValidationProviderResolver as everything else in the javax.validation namespace is the specification. This is not Hibernate Validator code, but rather Bean Validation specification code. And in case you are wondering, there is some code in the specification. Somewhere the default bootstrapping has to be implemented.
It is not a bug as such. The solution is a custom ValidatorProdivderResolver. That's why this interface was introduced and the specification explicitly says that it is to be used where special class loading needs have to be met (e.g. in some modularized environments). If you think this is wrong you should create an issue in BVAL which is the Bean Validation issue tracker. For the new version of Bean Validation (version 1.1) there is a discussion on whether it should be possible to pass a class loader to Bean Validation (BVAL-286), but I am not sure whether it would help in this case.