Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2.0-Alpha3
-
Fix Version/s: 3.0
-
Component/s: None
-
Labels:None
-
Environment:server
-
Affects:Documentation (User Guide, Ref. Guide, etc.)
Description
Avoid sending cloud push notifications when notifications are triggered during the server-response - client-request gap. During this gap the pushIds are temporarily parked (when blocking connection runs) which is falsely interpreted as stopped blocking connection.
The SessionViewManager in ICEfaces is calling LocalPushGroupManager.addMember(group, id) to add the current view (as pushID) to the session group. This occurs on each JSF lifecycle. Everything is normal up until now. The problem is triggered when LocalPushGroupManager.addMember method is scanning the groups for expiry. Every time a page is rendered or updated a scan for expiry is executed, which is not what we want. The scanning should be done only after a notification was broadcasted and the notification confirmations are received back. This way the server has a chance to touch the groups that are still active and only after that expire the ones inactive.
The fix applied just removes the LocalPushGroupManager.scanForExpiry call in LocalPushGroupManager.addMember method.