Java SE: @Inject не работает в валидаторах Bean Validation, вызываемых RESTEasy

Следующий код из Справочного руководства по Hibernate Validator не работает в Java SE, когда RESTEasy вызывает проверку:

public class ValidLicensePlateValidator implements ConstraintValidator<ValidLicensePlate, String> {

    @Inject
    private VehicleRegistry vehicleRegistry;

    //rest of the class

Поле vehicleRegistry никогда не вводится

Обратите внимание, что у меня есть hibernate-validator-cdi.jar на пути к классам.

Есть идеи, что может быть не так с моей настройкой? Или это ошибка в RESTEasy?


Вот (возможно, вводящие в заблуждение) результаты моего расследования:

  1. Во время запуска приложения RESTEasy показывает информационный журнал:

    RESTEASY008550: Unable to find CDI supporting ValidatorFactory. Using default ValidatorFactory
    
  2. Из исходного кода RESTEasy кажется, что ValidationFactory с поддержкой CDI ищется в AbstractValidatorContextResolver призвание context.lookup("java:comp/ValidatorFactory") но он терпит неудачу, и вместо него используется ValidationFactory без CDI.

0 ответов

Другие вопросы по тегам