2014-01-07 2 views
2

Когда мы используем проверку Bean, она работает нормально. Но после запуска в течение некоторого времени, есть RuntimeException:Невозможно получить доступные разрешения поставщика

javax.validation.ValidationException: Unable to get available provider resolvers. 
     at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:265) 
     at javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:110) 
     at org.dacell.app.order.isale.service.IsaleTradeValidate.validate(IsaleTradeValidate.java:40) 
     at org.dacell.app.order.isale.service.IsaleTradeValidate$$FastClassByCGLIB$$15097933.invoke(<generated>) 
     at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 
     at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698) 
     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) 
     at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80) 
     at org.dacell.aspect.ValidateLogAspect.around(ValidateLogAspect.java:49) 
     at sun.reflect.GeneratedMethodAccessor1869.invoke(Unknown Source) 

Lib: гибернации-валидатор-5.0.1.Final.jar

ответ

0

Я получил эту ошибку с WebSphere. validation-api-1.0.0.GA.jar всегда добавляется в целевой файл EAR. Это никогда не было проблемой, пока я не изменил стратегию загрузки класса на «parent last». Я также получаю это исключение:

java.lang.ClassCastException: org.apache.bval.jsr303.ApacheValidationProvider несовместимого с javax.validation.spi.ValidationProvider

Решением было удалить проверки-API -1.0.0.GA.jar из целевого файла EAR, добавив следующую зависимость, которая устанавливает валидацию-api в «предоставленный»:

<dependency> 
     <groupId>javax.validation</groupId> 
     <artifactId>validation-api</artifactId> 
     <version>1.0.0.GA</version> 
     <scope>provided</scope> 
    </dependency> 
Смежные вопросы