Dear all,
It seems I cannot get push to work in Vaadin 7 (tried 7.1.11, 7.2.1, 7.3.0.alpha2, 7.3.0.alpha3) under JBoss 7.1.3. I get the exception trace that you can find below. The application starts nonetheless, but when I click on a button or anything it starts loading for a long long time, finally proceeding with an expected message from Notification.show(). I have tried the following things:
- change to use the Http11NioProtocol in standalone.xml, but this is only supported from JBoss 7.2 onwards (which is not available for free commercial use)
- change to use the Http11AprProtocol, but the exception persists claiming APR is not installed
- Installed the APR dll to d:\jboss-as-7.1.3\bin\ (this is the tcnative-1.dll library), but it seems to already exist in the modules/ directory somewhere as well
- changed to @Push(transport=STREAMING) but this also does not change anything
- added the initParams = { @WebInitParam(name = “org.atmosphere.useWebSocketAndServlet3”, value = “true”) } to the @WebServlet annotation6) tried to add to the ivy.xml to get support for websockets, or any push technology
- probably some things that I forgot.
I am at a loss and wonder if anyone has been able to get Push support working on JBoss 7.1.x? We cannot pay for using JBoss EAP, so using JBoss 7.2+ is not an option.
Hoping to get this working,
Roel
10:27:44,422 INFO [org.jboss.as.server]
(DeploymentScanner-threads - 1) JBAS018565: Replaced deployment “Test.war” with deployment “Test.war”
10:28:00,281 WARNING [com.vaadin.server.DefaultDeploymentConfiguration]
=================================================================
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.
10:28:00,314 INFO [org.atmosphere.cpr.AtmosphereFramework]
Installed AtmosphereHandler com.vaadin.server.communication.PushHandler$1 mapped to context-path: /*
10:28:00,314 INFO [org.atmosphere.cpr.AtmosphereFramework]
Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.server.communication.PushHandler$1
10:28:00,318 WARNING [org.atmosphere.cpr.AtmosphereFramework]
SessionSupport error. Make sure you define org.atmosphere.cpr.SessionSupport as a listener in web.xml instead
10:28:00,323 INFO [org.atmosphere.cpr.AtmosphereFramework]
Atmosphere is using org.atmosphere.cpr.DefaultAnnotationProcessor for processing annotation
10:28:00,324 INFO [org.atmosphere.cpr.DefaultAnnotationProcessor]
AnnotationProcessor class org.atmosphere.cpr.DefaultAnnotationProcessor$ServletContainerInitializerAnnotationProcessor being used
10:28:00,325 WARNING [org.atmosphere.cpr.DefaultAnnotationProcessor]
Unable to detect annotations. Application may fail to deploy.
10:28:00,353 INFO [org.atmosphere.cpr.AtmosphereFramework]
Auto detecting WebSocketHandler in /WEB-INF/classes/
10:28:00,373 INFO [org.atmosphere.cpr.AtmosphereFramework]
Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol
10:28:00,376 WARNING [org.atmosphere.cpr.DefaultAsyncSupportResolver]
Found multiple containers, please specify which one to use: org.atmosphere.container.JBossWebCometSupport, org.atmosphere.container.NettyCometSupport, until you do, Atmosphere will use:class org.atmosphere.container.JBossWebCometSupport
10:28:00,377 INFO [org.atmosphere.cpr.AtmosphereFramework]
Installing Default AtmosphereInterceptor
10:28:00,377 INFO [org.atmosphere.cpr.AtmosphereFramework]
org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
10:28:00,378 INFO [org.atmosphere.cpr.AtmosphereFramework]
org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response’s Headers Interceptor
10:28:00,378 INFO [org.atmosphere.cpr.AtmosphereFramework]
org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
10:28:00,379 INFO [org.atmosphere.cpr.AtmosphereFramework]
org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
10:28:00,379 INFO [org.atmosphere.cpr.AtmosphereFramework]
org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support
10:28:00,379 INFO [org.atmosphere.cpr.AtmosphereFramework]
org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
10:28:00,380 INFO [org.atmosphere.cpr.AtmosphereFramework]
org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
10:28:00,381 INFO [org.atmosphere.cpr.AtmosphereFramework]
org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
10:28:00,381 INFO [org.atmosphere.cpr.AtmosphereFramework]
org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
10:28:00,381 INFO [org.atmosphere.cpr.AtmosphereFramework]
org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
10:28:00,381 INFO [org.atmosphere.cpr.AtmosphereFramework]
org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
10:28:00,381 INFO [org.atmosphere.cpr.AtmosphereFramework]
Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
10:28:00,382 INFO [org.atmosphere.cpr.AtmosphereFramework]
Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
10:28:00,382 INFO [org.atmosphere.cpr.AtmosphereFramework]
Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
10:28:00,382 INFO [org.atmosphere.cpr.AtmosphereFramework]
Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
10:28:00,382 INFO [org.atmosphere.cpr.AtmosphereFramework]
Broadcaster Polling Wait Time 100
10:28:00,382 INFO [org.atmosphere.cpr.AtmosphereFramework]
Shared ExecutorService supported: true
10:28:00,382 INFO [org.atmosphere.cpr.AtmosphereFramework]
Messaging Thread Pool Size: Unlimited
10:28:00,383 INFO [org.atmosphere.cpr.AtmosphereFramework]
Async I/O Thread Pool Size: 200
10:28:00,383 INFO [org.atmosphere.cpr.AtmosphereFramework]
Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
10:28:00,383 INFO [org.atmosphere.cpr.AtmosphereFramework]
Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
10:28:00,383 INFO [org.atmosphere.cpr.AtmosphereFramework]
HttpSession supported: true
10:28:00,383 INFO [org.atmosphere.cpr.AtmosphereFramework]
Atmosphere is using DefaultAtmosphereObjectFactory for dependency injection and object creation
10:28:00,383 INFO [org.atmosphere.cpr.AtmosphereFramework]
Atmosphere is using async support: org.atmosphere.container.JBossWebCometSupport running under container: JBoss Web/7.0.17.Final
10:28:00,383 INFO [org.atmosphere.cpr.AtmosphereFramework]
Atmosphere Framework 2.1.2.vaadin2 started.
10:28:00,385 INFO [org.atmosphere.cpr.AtmosphereFramework]
Installed AtmosphereInterceptor Track Message Size Interceptor using | with priority BEFORE_DEFAULT
10:28:00,386 INFO Initializing…
10:28:00,387 INFO [Test:YWebApplication]
Initializing Application: 0.0.1_DEV v0.0.1_DEV r3909M
10:28:00,387 INFO [Test:YWebApplication]
Built on: 10-06-2014T10:27:21
10:28:00,389 INFO [Test:YWebApplication]
Using server list: XXXXXXXXX
10:28:00,389 INFO [Test:YWebApplication]
Finished initialization of Test v0.0.1_DEV
10:28:02,027 SEVERE [org.atmosphere.container.JBossWebCometSupport]
HttpEvent is null, JBoss APR Not Properly installed
10:28:02,028 WARNING [org.atmosphere.cpr.AtmosphereFramework]
Failed using comet support: org.atmosphere.container.JBossWebCometSupport, error: JBoss failed to detect this is a Comet application because the APR Connector is not enabled.
Make sure atmosphere-compat-jboss.jar is not under your WEB-INF/lib and You must use the atmosphere-native-runtime dependency in order to use native Comet Support
there is no context.xml under WEB-INF Is the NIO or APR Connector enabled?
10:28:02,028 SEVERE [org.atmosphere.cpr.AtmosphereFramework]
If you have more than one Connector enabled, make sure they both use the same protocol, e.g NIO/APR or HTTP for all. If not, org.atmosphere.container.BlockingIOCometSupport will be used and cannot be changed.: java.lang.IllegalStateException: JBoss failed to detect this is a Comet application because the APR Connector is not enabled.
Make sure atmosphere-compat-jboss.jar is not under your WEB-INF/lib and You must use the atmosphere-native-runtime dependency in order to use native Comet Support
there is no context.xml under WEB-INF
at org.atmosphere.container.JBossWebCometSupport.(JBossWebCometSupport.java:49) [atmosphere-runtime-2.1.2.vaadin2.jar:2.1.2.vaadin2]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.7.0_51]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [rt.jar:1.7.0_51]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.7.0_51]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) [rt.jar:1.7.0_51]
at org.atmosphere.cpr.DefaultAsyncSupportResolver.newCometSupport(DefaultAsyncSupportResolver.java:225) [atmosphere-runtime-2.1.2.vaadin2.jar:2.1.2.vaadin2]
at org.atmosphere.cpr.DefaultAsyncSupportResolver.resolveMultipleNativeSupportConflict(DefaultAsyncSupportResolver.java:316) [atmosphere-runtime-2.1.2.vaadin2.jar:2.1.2.vaadin2]
at org.atmosphere.cpr.DefaultAsyncSupportResolver.resolveNativeCometSupport(DefaultAsyncSupportResolver.java:300) [atmosphere-runtime-2.1.2.vaadin2.jar:2.1.2.vaadin2]
at org.atmosphere.cpr.DefaultAsyncSupportResolver.resolve(DefaultAsyncSupportResolver.java:279) [atmosphere-runtime-2.1.2.vaadin2.jar:2.1.2.vaadin2]
at org.atmosphere.cpr.AtmosphereFramework.autoDetectContainer(AtmosphereFramework.java:1591) [atmosphere-runtime-2.1.2.vaadin2.jar:2.1.2.vaadin2]
at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:717) [atmosphere-runtime-2.1.2.vaadin2.jar:2.1.2.vaadin2]
at org.atmosphere.cpr.AtmosphereFramework.init(AtmosphereFramework.java:614) [atmosphere-runtime-2.1.2.vaadin2.jar:2.1.2.vaadin2]
at com.vaadin.server.communication.PushRequestHandler.<init>(PushRequestHandler.java:120) [vaadin-server-7.3.0.alpha3.jar:7.3.0.alpha3]
at com.vaadin.server.VaadinServletService.createRequestHandlers(VaadinServletService.java:92) [vaadin-server-7.3.0.alpha3.jar:7.3.0.alpha3]
at com.vaadin.server.VaadinService.init(VaadinService.java:180) [vaadin-server-7.3.0.alpha3.jar:7.3.0.alpha3]
at com.vaadin.server.VaadinServlet.createServletService(VaadinServlet.java:190) [vaadin-server-7.3.0.alpha3.jar:7.3.0.alpha3]
at com.vaadin.server.VaadinServlet.init(VaadinServlet.java:96) [vaadin-server-7.3.0.alpha3.jar:7.3.0.alpha3]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:952) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:188) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.17.Final.jar:]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:165) [jboss-as-web-7.1.3.Final.jar:7.1.3.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.17.Final.jar:]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:372) [jbossweb-7.0.17.Final.jar:]
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:897) [jbossweb-7.0.17.Final.jar:]
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:634) [jbossweb-7.0.17.Final.jar:]
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2039) [jbossweb-7.0.17.Final.jar:]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
10:28:02,030 WARNING [org.atmosphere.cpr.AtmosphereFramework]
Using org.atmosphere.container.BlockingIOCometSupport
Part of the UI code:
@Theme(“test”)
@Push()
public class TestUI extends UI
{
…
@WebServlet(value = "/*", asyncSupported = true, initParams = { @WebInitParam(name = "org.atmosphere.useWebSocketAndServlet3", value = "true") })
@VaadinServletConfiguration(productionMode = false, ui = TestUI.class, widgetset = "com.example.widgetset.TestWidgetset")
public static class Servlet extends VaadinServlet
{
…
14401.xml (15.6 KB)