* Initialize Atmosphere in a context listener as JSR-356 requires
* Do not run JSR-356 or websocket tests on servers without support
* Adds /run-jsr356/ for testing JSR-356 websockets with uitest.war
* Change push path to /PUSH (from /PUSH/) to be compatible with JSR 356
endpoint mappings in Atmosphere (#14381)
Change-Id: Iec43f26df8c7b2bd347a713623a5298cc9e7b2cd
Revert "Workaround for Atmosphere race condition (#13528)" (#14534)
This reverts commit 7f9ea1c915.
The problem is fixed in Atmosphere 2.2
Conflicts:
server/src/com/vaadin/server/communication/PushRequestHandler.java
Change-Id: I04a1b0c87927beb9b2048fee1ec95cd17af53a28
Does not use the new heartbeat mechanism in Atmosphere 2.2 because the heartbeat
mechanism will cause the client to reconnect every 60 seconds when idle.
It does not currently work with Vaadin because no onreopen event is fired by
Atmosphere (https://github.com/Atmosphere/atmosphere-javascript/issues/141) and thus
Vaadin will wait forever for Atmosphere to indicate that the connection is available
again after the disconnect.
Change-Id: I3a61b2c5d611f09c3092f817834e6382e1ca9894
Fix overwrite mechanism for web.xml atmosphere init params (#14196).
Non obvious problem before. "config" is a property of AtmosphereFramework
which also has getInitParameter(String) method. So it compiles but does
not do what is intended: to check against the user defined web.xml
servlet init-prams.
(the variableName servletConfig has the same problem :-))
Change-Id: Ib02f0b94312327d482775456c2d63a904b1e8104
Use "\0" instead of "|" as a push message delimiter (#11692)
Used with TrackMessageSizeInterceptor and with client-to-server Websocket message splitting (see #11648)
The original issue that the delimiter can not appear in the message (unescaped) is apparently fixed in Atmosphere 1.0.13
Also ensure the max size of a websocket fragment in bytes does not exceed the buffer size (#11842)
Change-Id: I768524bb54a5b8b9479dc7bda821256bd843dc52
Split client-to-server messages when websockets are used (#11648)
* First part of a fragmented message prefixed by total message length plus '|'
* Atmosphere websocket buffer size set to 65536
* Fragment size is 65535 characters (Jetty requires less than buffer size)
Change-Id: I8bf872bbb03b86386070fdc99c14ea805dd2ef3a
Deal correctly with session expired during opening of push connection (#11705)
* Added SessionExpiredHandler which any RequestHandler can implement to customize session expired handling
* The issue can be tested by creating a non-serializable UI (e.g. new Object() in a field) and restarting the server.
Change-Id: I3eb6bc56298e025bcde088af53ea656fb44e897b
Furthermore, the exception that might get thrown from there is passed up
through the call stack until it can be handled in a sensible way.
Change-Id: I4a741b5ad4d9216255932c2328b49e73e92df2f4
* Asynchronous bidirectional communication
* Use Atmosphere as a backend
* Use websockets if available, fallback to HTTP streaming
* Push mode (disabled, manual, automatic)
* Configurable via servlet parameter pushMode
* Disabled: The default; regular AJAX communication
* Manual: Need explicit UI.push() call
* Automatic: push all UIs in session when lock released
* UI.push()
* Push pending state and RPC to client asynchronously
* Must hold session lock when invoking
Change-Id: Idb5978ac81f7ff1e66665df4e3f96e29e4c419d4