Affects Version/s: 1.0-b05, 1.0-b06, 1.0-b07, 1.0-b08, 1.0-b09, 1.0-b10, 1.0-b11, 1.0-b12, 1.0-b13, 1.0-b14, 1.0-rc1, 1.0-rc2, 1.0-rc3, 1.0-rc4, 1.0, 1.1, 1.2, 1.2.1
Fix Version/s: 1.3
Windows 8 x64, GlassFish 4
If you on the server side, grab the websocket session object from the @OnOpen method and call Session#setMaxIdleTimeout() using any number, when that time has passed Tyrus will forcefully close the session whether he actually timed out or not.
To test this, I registered a pong message handler who logged each time we received a pong. It showed that Internet Explorer (10), is the only browser who will send us a pong from time to time. Yet, this browser too will be affected by the aforementioned problem. Furthermore, I setup a scheduled timer to programmatically ping the client endpoint using RemoteEndpoint#sendPing(). That made all the browsers reply with a ping. However, as soon as the time passed that we had sent as an argument to the Session#setMaxIdleTimeout() method, Tyrus closed all sessions despite them being provably not idle.
|Field||Original Value||New Value|
|Original Estimate||3 days [ 259200 ]|
|Remaining Estimate||3 days [ 259200 ]|
|Assignee||stepan.kopriva [ stepan.kopriva ]|
|Status||Open [ 1 ]||Resolved [ 5 ]|
|Fix Version/s||1.3 [ 16600 ]|
|Resolution||Fixed [ 1 ]|