Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
Vaadin 8 migration and Atmosphere problem
I am updating to Vaadin 8 and migrating my code via Vaadin 7 compatibility and am now having issues with PUSH / Atmosphere.
My application as two UIs each with their own servlet (public and admin apps). The public app is the only UI to be annotated with @Push(transport = Transport.LONG_POLLING).
I am not sure if the latest is incompatible with multiple servlets or ther needs to be some additional configuration or migration that I need to do. Any ideas?
9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed AtmosphereHandler com.vaadin.server.communication.PushAtmosphereHandler mapped to context-path: /*
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.server.communication.PushAtmosphereHandler
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework autoConfigureService
INFO: Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation
Apr 12, 2017 9:24:00 PM org.atmosphere.util.ForkJoinPool <init>
INFO: Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power.
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework initWebSocket
INFO: Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol
Apr 12, 2017 9:24:00 PM org.atmosphere.util.IOUtils guestRawServletPath
WARNING: More than one Servlet Mapping defined. WebSocket may not work org.apache.catalina.core.ApplicationServletRegistration@6a0e3b9c
Apr 12, 2017 9:24:00 PM org.atmosphere.container.JSR356AsyncSupport <init>
INFO: JSR 356 Mapping path /VAADIN
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Installing Default AtmosphereInterceptors
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO: org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO: org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO: org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO: org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Dropping Interceptor org.atmosphere.interceptor.HeartbeatInterceptor
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO: org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO: org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO: org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO: org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO: org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO: org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Broadcaster Shared List Resources: false
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Broadcaster Polling Wait Time 100
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Shared ExecutorService supported: true
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Async I/O Thread Pool Size: 200
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Invoke AtmosphereInterceptor on WebSocket message true
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: HttpSession supported: true
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere is using org.atmosphere.inject.InjectableObjectFactory for dependency injection and object creation
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/8.0.39 using javax.servlet/3.0 and jsr356/WebSocket API
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere Framework 2.4.5.vaadin2 started.
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addInterceptorToAllWrappers
INFO: Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed AtmosphereHandler com.vaadin.server.communication.PushAtmosphereHandler mapped to context-path: /*
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.server.communication.PushAtmosphereHandler
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework autoConfigureService
INFO: Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation
Apr 12, 2017 9:24:00 PM org.atmosphere.util.ForkJoinPool <init>
INFO: Using ForkJoinPool java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power.
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework initWebSocket
INFO: Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol
Apr 12, 2017 9:24:00 PM org.atmosphere.util.IOUtils guestRawServletPath
SEVERE:
java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1439)
at java.util.HashMap$KeyIterator.next(HashMap.java:1461)
at org.atmosphere.util.IOUtils.guestRawServletPath(IOUtils.java:283)
at org.atmosphere.util.IOUtils.guestServletPath(IOUtils.java:248)
at org.atmosphere.container.JSR356AsyncSupport.<init>(JSR356AsyncSupport.java:63)
at org.atmosphere.container.JSR356AsyncSupport.<init>(JSR356AsyncSupport.java:40)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.atmosphere.cpr.DefaultAsyncSupportResolver.newCometSupport(DefaultAsyncSupportResolver.java:234)
at org.atmosphere.cpr.DefaultAsyncSupportResolver.resolveWebSocket(DefaultAsyncSupportResolver.java:306)
at org.atmosphere.cpr.DefaultAsyncSupportResolver.resolve(DefaultAsyncSupportResolver.java:292)
at org.atmosphere.cpr.AtmosphereFramework.autoDetectContainer(AtmosphereFramework.java:2079)
at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:914)
at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:838)
at com.vaadin.server.communication.PushRequestHandler.initAtmosphere(PushRequestHandler.java:216)
at com.vaadin.server.communication.JSR356WebsocketInitializer.initAtmosphereForVaadinServlet(JSR356WebsocketInitializer.java:152)
at com.vaadin.server.communication.JSR356WebsocketInitializer.contextInitialized(JSR356WebsocketInitializer.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4853)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.DefaultAsyncSupportResolver newCometSupport
WARNING: Failed to create AsyncSupport class: class org.atmosphere.container.JSR356AsyncSupport, error: java.lang.reflect.InvocationTargetException
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.DefaultAsyncSupportResolver newCometSupport
SEVERE: Real error: Unable to configure jsr356 at that stage
java.lang.IllegalStateException: Unable to configure jsr356 at that stage
at org.atmosphere.util.IOUtils.guestRawServletPath(IOUtils.java:290)
at org.atmosphere.util.IOUtils.guestServletPath(IOUtils.java:248)
at org.atmosphere.container.JSR356AsyncSupport.<init>(JSR356AsyncSupport.java:63)
at org.atmosphere.container.JSR356AsyncSupport.<init>(JSR356AsyncSupport.java:40)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.atmosphere.cpr.DefaultAsyncSupportResolver.newCometSupport(DefaultAsyncSupportResolver.java:234)
at org.atmosphere.cpr.DefaultAsyncSupportResolver.resolveWebSocket(DefaultAsyncSupportResolver.java:306)
at org.atmosphere.cpr.DefaultAsyncSupportResolver.resolve(DefaultAsyncSupportResolver.java:292)
at org.atmosphere.cpr.AtmosphereFramework.autoDetectContainer(AtmosphereFramework.java:2079)
at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:914)
at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:838)
at com.vaadin.server.communication.PushRequestHandler.initAtmosphere(PushRequestHandler.java:216)
at com.vaadin.server.communication.JSR356WebsocketInitializer.initAtmosphereForVaadinServlet(JSR356WebsocketInitializer.java:152)
at com.vaadin.server.communication.JSR356WebsocketInitializer.contextInitialized(JSR356WebsocketInitializer.java:118)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4853)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.DefaultAsyncSupportResolver resolveMultipleNativeSupportConflict
WARNING: Found multiple containers, please specify which one to use: org.atmosphere.container.Tomcat7CometSupport, org.atmosphere.container.TomcatCometSupport, org.atmosphere.container.NettyCometSupport, until you do, Atmosphere will use:class org.atmosphere.container.Tomcat7CometSupport
Apr 12, 2017 9:24:00 PM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Installing Default AtmosphereInterceptors
So I debugged and stepped through and newCometSupport it executed twice. The first time it find my servlet "bvapps" and gets a ServletRegistration for Atmosphere. Then the second time around it finds one called "MyUIServlet" with no registration of Atmosphere which fails on 283. I do not have a class or servlet defined for "MyUIServlet" and have no idea where that is coming from.
It turned out to bean issue with the updated PageTable Add-on, which improperly includes the example UI in the jar.
https://github.com/Peppe/PagedTable/issues/24