Nie używaj serwera Apache jako domyślnego dostawcy w deskryptorze wdrażania

Ta reguła powoduje oznaczenie flagą każdego odwołania do pakietu org.apache.bval.jsr* (bval 1.1) i org.apache.bval.jsr303* (bval 1.0) w deskryptorach wdrażania validation.xml. Komponent Bean Validation w wersji 2.0 i nowszej używa implementacji analizatora poprawności Hibernate Validator zamiast implementacji Apache BVal, która była używana w Bean Validation 1.0 i 1.1. Skaner źródła udostępnia szybką poprawkę, która nadpisuje konfigurację w celu użycia klas Hibernate Validator.

Przykładem są następujące elementy w pliku validation.xml:

<default-provider>org.apache.bval.jsr.ApacheValidationProvider</default-provider>
<message-interpolator>org.apache.bval.jsr.DefaultMessageInterpolator</message-interpolator>
<traversable-resolver>org.apache.bval.jsr.resolver.DefaultTraversableResolver</traversable-resolver>
<constraint-validator-factory>org.apache.bval.jsr.DefaultConstraintValidatorFactory</constraint-validator-factory>
<parameter-name-provider>org.apache.bval.jsr.parameter.DefaultParameterNameProvider</parameter-name-provider>

Szybka poprawka nadpisuje te wartości z użyciem wartości Hibernate Validator:

<default-provider>org.hibernate.validator.HibernateValidator</default-provider>
<message-interpolator>org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator</message-interpolator>
<traversable-resolver>org.hibernate.validator.engine.resolver.DefaultTraversableResolver</traversable-resolver>
<constraint-validator-factory>org.hibernate.validator.engine.ConstraintValidatorFactoryImpl</constraint-validator-factory>

Domyślny element parameter-name-provider jest wewnętrzną klasą pakietu org.hibernate.validator.internal.engine.DefaultParameterNameProvider. Szybka poprawka usuwa to ustawienie, tak aby używana była wartość domyślna.

Więcej informacji na temat konfigurowania sprawdzania poprawności w produkcie WebSphere Liberty zawiera dokumentacja Bean Validation 2.0.