[ 
https://issues.apache.org/jira/browse/CXF-6706?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15056091#comment-15056091
 ] 

Benson Margulies commented on CXF-6706:
---------------------------------------

Let me show you 'plan b' that fails. It fails because the ServiceMix bundle for 
hibernate does not do any import that sees com.sun.el for the EL 
implementation. I suppose that if I make the local bundle import com.sun.el and 
use it's class loader, it might work, coming right up.

{code}
 BeanValidationProvider prov;
        ClassLoader oldtccl = Thread.currentThread().getContextClassLoader();
        try {
            
Thread.currentThread().setContextClassLoader(HibernateValidator.class.getClassLoader());
            HibernateValidatorConfiguration configuration =
                    Validation.byProvider(HibernateValidator.class)
                            .configure();
            ValidatorFactory factory = configuration.buildValidatorFactory();
            prov = new BeanValidationProvider(factory);
        } finally {
            Thread.currentThread().setContextClassLoader(oldtccl);
        }
        try {
            
Thread.currentThread().setContextClassLoader(HibernateValidator.class.getClassLoader());
            prov.validateBean(book);
        } catch (ConstraintViolationException cve) {
            /* ... */
        } finally {
            Thread.currentThread().setContextClassLoader(oldtccl);
        }
{code}


> Bean validation seems to not be working in OSGi
> -----------------------------------------------
>
>                 Key: CXF-6706
>                 URL: https://issues.apache.org/jira/browse/CXF-6706
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 3.1.4, 3.2.0
>            Reporter: Benson Margulies
>            Assignee: Benson Margulies
>
> Using Karaf 4.0.2, 
> if you take this repo:
> g...@github.com:benson-basis/cxf-karaf-validation-tc.git
> and checkout the use-cxf-support branch, it will build you a Karaf assembly 
> that, when you poke the service (http://localhost:8181/cxf/validate)
> will yield the following backtrace. This assumes that you are up to date with 
> my fix to cxf-6705 which is on master and the 3.1.x branch.
> {noformat}
> javax.validation.ValidationException: Unable to find a default provider
>       at 
> javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:264)
>       at 
> javax.validation.Validation.buildDefaultValidatorFactory(Validation.java:111)
>       at 
> org.apache.cxf.validation.BeanValidationProvider.<init>(BeanValidationProvider.java:45)
>       at com.basistech.ts.impl.TrivialService.validate(TrivialService.java:50)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to