Mantis - Resin
Viewing Issue Advanced Details
4575 minor always 05-25-11 15:15 06-01-11 10:03
rickHigh  
ferg  
normal  
closed  
fixed  
none    
none 4.0.19  
0004575: Resin ./configure, make, make install does not install validation lib correctly needed for JSF
The default Resin ./configure, make, make install does not install validation lib correctly needed for JSF.

If you run resin from where you extract the tar file, everything works fine for a standard JSF app.

But if you run the same JSF app from a resin instance that you install with ./configure, make and make install... it fails.


[show] javax.validation.ValidationException: Unable to find a default provider

javax.servlet.ServletException: Unable to find a default provider
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:422)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
    at com.caucho.server.webapp.WebAppListenerFilterChain.doFilter(WebAppListenerFilterChain.java:114)
    at com.caucho.server.cache.ProxyCacheFilterChain.doFilter(ProxyCacheFilterChain.java:151)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156)
    at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792)
    at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730)
    at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689)
    at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669)
    at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617)
    at com.caucho.network.listen.KeepaliveRequestTask.doTask(KeepaliveRequestTask.java:73)
    at com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
    at com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)
    at com.caucho.network.listen.KeepaliveRequestTask.run(KeepaliveRequestTask.java:60)
    at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:164)
    at com.caucho.env.thread.ResinThread.run(ResinThread.java:130)
Caused by: 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 javax.faces.validator.BeanValidator.validate(BeanValidator.java:276)
    at javax.faces.component.UIInput.validateValue(UIInput.java:1149)
    at javax.faces.component.UISelectOne.validateValue(UISelectOne.java:146)
    at javax.faces.component.UIInput.validate(UIInput.java:967)
    at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
    at javax.faces.component.UIInput.processValidators(UIInput.java:698)
    at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
    at javax.faces.component.UIForm.processValidators(UIForm.java:253)
    at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
    at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
    at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
    at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
    at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
    at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
    at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:109)
    at com.caucho.server.webapp.WebAppListenerFilterChain.doFilter(WebAppListenerFilterChain.java:114)
    at com.caucho.server.cache.ProxyCacheFilterChain.doFilter(ProxyCacheFilterChain.java:151)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:156)
    at com.caucho.server.webapp.AccessLogFilterChain.doFilter(AccessLogFilterChain.java:95)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:287)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:792)
    at com.caucho.network.listen.TcpSocketLink.dispatchRequest(TcpSocketLink.java:730)
    at com.caucho.network.listen.TcpSocketLink.handleRequest(TcpSocketLink.java:689)
    at com.caucho.network.listen.TcpSocketLink.handleRequestsImpl(TcpSocketLink.java:669)
    at com.caucho.network.listen.TcpSocketLink.handleRequests(TcpSocketLink.java:617)
    at com.caucho.network.listen.KeepaliveRequestTask.doTask(KeepaliveRequestTask.java:73)
    at com.caucho.network.listen.ConnectionReadTask.runThread(ConnectionReadTask.java:98)
    at com.caucho.network.listen.ConnectionReadTask.run(ConnectionReadTask.java:81)
    at com.caucho.network.listen.KeepaliveRequestTask.run(KeepaliveRequestTask.java:60)
    at com.caucho.env.thread.ResinThread.runTasks(ResinThread.java:16

The install is not copying over the validation jar file correclty.

Notes
(0005277)
rickHigh   
05-25-11 16:16   
I was able to "fix" the issue as follows:
 (copy the validator jar files from install dir to installed dir)
$ pwd
/home/user/Downloads/resin-pro-4.0.18/webapp-jars
$ sudo mkdir /usr/local/resin/webapp-jars
$ sudo cp *.jar /usr/local/resin/webapp-jars/

Then when I restart Resin, it works.

$ sudo /etc/init.d/resin start

It seems like the jars were missing form /usr/local/resin/webapp-jars
(0005278)
rickHigh   
05-25-11 16:20   
I think the real problem is that the jar files here:

$ ls /var/www/webapp-jars/
hibernate-validator-4.0.2.GA.jar slf4j-api-1.6.1.jar

Are not getting picked up by Resin,

but when I put them here:

$ ls /usr/local/resin/webapp-jars/
hibernate-validator-4.0.2.GA.jar slf4j-api-1.6.1.jar

they are


The install puts them here:

$ ls /var/www/webapp-jars/
hibernate-validator-4.0.2.GA.jar slf4j-api-1.6.1.jar


But it only works if they are here:

$ ls /usr/local/resin/webapp-jars/
hibernate-validator-4.0.2.GA.jar slf4j-api-1.6.1.jar