title: Vaadin + CDI + Push (atmosphere) doesn't work
body: <p>I have a Java EE 7 application using vaadin with vaadin-cdi component. </p>
  
  <p>Without vaadin push this is my configuration:</p>
  
  <pre><code>// the Servlet
  @WebServlet(value = "/*", asyncSupported = true)
  public class MyServlet extends VaadinCDIServlet {
      @Override
      protected void servletInitialized() throws ServletException {
          super.servletInitialized();
      }
  }
  // ... Then I have a @CDIUI anotated class.
  </code></pre>
  
  <p>All works fine here until I add @Push to my @CDIUI anotated class and add the vaadin-push component in the classpath</p>
  
  <pre><code>&lt;dependency org="com.vaadin" name="vaadin-push" rev="&amp;vaadin.version;" /&gt;
  </code></pre>
  
  <p>And then I get this errors in wildfly trying to access my app</p>
  
  <pre><code>11:38:46,738 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.2.0.Final "Tweek" started in 7771ms - Started 464 of 511 services (92 services are lazy, passive or on-demand)
  11:38:53,423 WARNING [com.vaadin.server.DefaultDeploymentConfiguration] (default task-2) 
  =================================================================
  Vaadin is running in DEBUG MODE.
  Add productionMode=true to web.xml to disable debug features.
  To show debug window, add ?debug to your application URL.
  =================================================================
  11:38:53,461 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Installed AtmosphereHandler com.vaadin.server.communication.PushHandler$1 mapped to context-path: /*
  11:38:53,461 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.server.communication.PushHandler$1
  11:38:53,463 INFO  [org.atmosphere.util.IOUtils] (default task-2) META-INF/services/org.atmosphere.cpr.AtmosphereFramework not found in class loader
  11:38:53,465 WARNING [org.atmosphere.cpr.AtmosphereFramework] (default task-2) SessionSupport error. Make sure you define org.atmosphere.cpr.SessionSupport as a listener in web.xml instead
  11:38:53,477 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation
  11:38:53,487 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Auto detecting WebSocketHandler in /WEB-INF/classes/
  11:38:53,494 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol 
  11:38:53,500 INFO  [org.atmosphere.container.JSR356AsyncSupport] (default task-2) JSR 356 Mapping path /{path}
  11:38:53,503 INFO  [io.undertow.websockets.jsr] (default task-2) UT026005: Adding programmatic server endpoint class org.atmosphere.container.JSR356Endpoint for path /{path}
  11:38:53,506 INFO  [io.undertow.websockets.jsr] (default task-2) UT026005: Adding programmatic server endpoint class org.atmosphere.container.JSR356Endpoint for path /{path}/{path0}
  11:38:53,506 INFO  [io.undertow.websockets.jsr] (default task-2) UT026005: Adding programmatic server endpoint class org.atmosphere.container.JSR356Endpoint for path /{path}/{path0}/{path1}
  11:38:53,507 INFO  [io.undertow.websockets.jsr] (default task-2) UT026005: Adding programmatic server endpoint class org.atmosphere.container.JSR356Endpoint for path /{path}/{path0}/{path1}/{path2}
  11:38:53,507 INFO  [io.undertow.websockets.jsr] (default task-2) UT026005: Adding programmatic server endpoint class org.atmosphere.container.JSR356Endpoint for path /{path}/{path0}/{path1}/{path2}/{path3}
  11:38:53,507 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Installing Default AtmosphereInterceptor
  11:38:53,507 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2)    org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
  11:38:53,508 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2)    org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
  11:38:53,508 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2)    org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
  11:38:53,509 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2)    org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
  11:38:53,509 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Dropping Interceptor org.atmosphere.interceptor.HeartbeatInterceptor
  11:38:53,510 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2)    org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
  11:38:53,510 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2)    org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
  11:38:53,511 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2)    org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
  11:38:53,511 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2)    org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
  11:38:53,512 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2)    org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
  11:38:53,512 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2)    org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
  11:38:53,512 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
  11:38:53,515 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
  11:38:53,515 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
  11:38:53,515 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
  11:38:53,515 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Broadcaster Polling Wait Time 100
  11:38:53,515 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Shared ExecutorService supported: true
  11:38:53,515 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Messaging Thread Pool Size: Unlimited
  11:38:53,516 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Async I/O Thread Pool Size: 200
  11:38:53,516 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
  11:38:53,516 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
  11:38:53,519 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Invoke AtmosphereInterceptor on WebSocket message true
  11:38:53,519 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) HttpSession supported: true
  11:38:53,520 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Atmosphere is using DefaultAtmosphereObjectFactory for dependency injection and object creation
  11:38:53,520 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: WildFly 8.2.0.Final - 1.1.0.Final using javax.servlet/3.0 and jsr356/WebSocket API
  11:38:53,520 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Atmosphere Framework 2.2.4.vaadin4 started.
  11:38:53,522 INFO  [org.atmosphere.cpr.AtmosphereFramework] (default task-2) Installed AtmosphereInterceptor  Track Message Size Interceptor using | with priority BEFORE_DEFAULT 
  </code></pre>
  
  <p>I even added a web.xml file like this:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
              http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
           version="3.1"&gt;
  
      &lt;listener&gt;
          &lt;listener-class&gt;org.atmosphere.cpr.SessionSupport&lt;/listener-class&gt;
      &lt;/listener&gt;
  
      &lt;context-param&gt;
          &lt;param-name&gt;org.atmosphere.cpr.SessionSupport&lt;/param-name&gt;
          &lt;param-value&gt;true&lt;/param-value&gt;
      &lt;/context-param&gt;
  &lt;/web-app&gt;
  </code></pre>
  
  <p>But the error is still the same. I really don't get it. What am I doing wrong ?</p>
  
  <p>I am using latest vaadin 7.4.1, vaadin-cdi 1.0.1 and wildfly 8.2</p>