Support for Servlet 3.1

Lukáš Fryč lukas.fryc at gmail.com
Tue Feb 11 08:26:26 EST 2014


It seems it really relates to Guava version. Does the Tomcat
8 itself bundle Guava library ?

It is possible that simpleapp works just fine because it does not require
Guava incidentally (none of its codepaths doesn't hit the problem above).

Note that there are other issues with Guava:
https://issues.jboss.org/browse/RF-13538

Guava proves to be quite unstable API to code against.
That's caused by really poor backward compatibility code management.


On Mon, Feb 10, 2014 at 5:03 PM, Juraj Húska <jhuska at redhat.com> wrote:

> I am not sure at what point we plan to support Servlet 3.1, but its
> reference implementation Tomcat 8 is quite stable now (8.0.1 was released).
>
> I have tried to deploy showcase on Tomcat 8, but following error is thrown
> during deployment:
>
> {code:jivemacro_uid=_13920475018305495|class=_jivemacro_uid_13920475018305495
> jive_text_macro jive_macro_code}
> SEVERE: Critical error during deployment:
>
> java.lang.NoSuchMethodError:
> com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor()Lcom/google/common/util/concurrent/ListeningExecutorService;
>
>   at com.google.common.cache.LocalCache.<clinit>(LocalCache.java:155)
>
>   at
> com.google.common.cache.LocalCache$LocalLoadingCache.<init>(LocalCache.java:4871)
>
>   at com.google.common.cache.CacheBuilder.build(CacheBuilder.java:806)
>
>   at
> org.richfaces.resource.ResourceLibraryFactoryImpl.<init>(ResourceLibraryFactoryImpl.java:49)
>
>   at org.richfaces.services.DefaultModule.configure(DefaultModule.java:65)
>
>   at
> org.richfaces.services.ServicesFactoryImpl.init(ServicesFactoryImpl.java:49)
>
>   at
> org.richfaces.services.InitializationListener.createFactory(InitializationListener.java:130)
>
>   at
> org.richfaces.services.InitializationListener.onStart(InitializationListener.java:68)
>
>   at
> org.richfaces.services.InitializationListener.processEvent(InitializationListener.java:152)
>
>   at javax.faces.event.SystemEvent.processListener(SystemEvent.java:108)
>
>   at
> com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2187)
>
>   at
> com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2163)
>
>   at
> com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:303)
>
>   at
> org.jboss.weld.environment.servlet.jsf.ForwardingApplication.publishEvent(ForwardingApplication.java:282)
>
>   at
> com.sun.faces.config.ConfigManager.publishPostConfigEvent(ConfigManager.java:691)
>
>   at
> com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:253)
>
>   at
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4732)
>
>   at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
>
>   at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>
>   at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
>
>   at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:702)
>
>   at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:697)
>
>   at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:976)
>
>   at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:461)
>
>   at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1554)
>
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
>   at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
>   at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
>   at java.lang.reflect.Method.invoke(Method.java:601)
>
>   at
> org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
>
>   at
> com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
>
>   at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791)
>
>   at
> org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1428)
>
>   at
> org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:702)
>
>   at
> org.apache.catalina.manager.ManagerServlet.doPut(ManagerServlet.java:428)
>
>   at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>
>   at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
>
>   at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
>
>   at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
>   at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>
>   at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
>
>   at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
>   at
> org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
>
>   at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
>
>   at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>
>   at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
>
>   at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
>
>   at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:615)
>
>   at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
>
>   at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
>
>   at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
>
>   at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
>
>   at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)
>
>   at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)
>
>   at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:651)
>
>   at
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
>
>   at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
>
>   at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
>
>   at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>
>   at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>
>   at java.lang.Thread.run(Thread.java:722)
> {code}
>
> I tried to change guava from the version 13 to the latest one: 16, but
> than another guava related error is thrown. Same with guava 15 as it is in
> WildFly. But it somehow does not relate to guava, as simple-app with guava
> 13 works fine on Tomcat 8. Metamer is suffering from the same issue.
>
> Is there anything else I can do in this matter ? Can I file an issue to
> support Servlet 3.1 ?
>
> Thanks
> Juro
>
> Posted by forums
> Original post: https://community.jboss.org/message/856976#856976
>
> _______________________________________________
> richfaces-dev mailing list
> richfaces-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/richfaces-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/richfaces-dev/attachments/20140211/f59e619e/attachment.html 


More information about the richfaces-dev mailing list