Details
Description
Using auction 2.0 in a test I observed the following:
Previously, we would POST a blocking request to listen for updates
POST http://localhost:8080/auction/javax.faces.resource/listen.icepush.jsf
and get a response once a second:
<notified-pushids>apushId</notified-pushids>
Then fetch the update:
POST http://localhost:8080/auction/auction.jsf
and the update would be something like:
<?xml version='1.0' encoding='UTF-8'?>
<partial-response><changes><update id="rpt1:0:otime"><![CDATA[<span id="rpt1:0:otime">7d 1:54:53</span>]]></update><update id="rpt1:1:otime"><![CDATA[<span id="rpt1:1:otime">3d 4:54:44</span>]]></update><update id="rpt1:2:otime"><![CDATA[<span id="rpt1:2:otime">2d 7:55:34</span>]]></update><update id="rpt1:3:otime"><![CDATA[<span id="rpt1:3:otime">7:54:49</span>]]></update><update id="javax.faces.ViewState"><![CDATA[4506655347714165083:6047748643060694507]]></update></changes></partial-response>
This would occur once a second. Now, however, we're getting two updates per second. The first is similar to the above as the clock polls, but the second update seems to contain a change only to the ViewState key.
POST http://localhost:8080/auction/javax.faces.resource/listen.icepush.jsf
?xml version='1.0' encoding='UTF-8'?>
<partial-response><changes><update id="javax.faces.ViewState"><![CDATA[4506655347714165083:6047748643060694507]]></update></changes></partial-response>
Comparing the javax.faces.ViewState field from both updates, they are seen to be equal, so the second update is entirely redundant.
<![CDATA[4506655347714165083:6047748643060694507]]>
<![CDATA[4506655347714165083:6047748643060694507]]>
This means we're doing 2 pairs of requests every second.
Previously, we would POST a blocking request to listen for updates
POST http://localhost:8080/auction/javax.faces.resource/listen.icepush.jsf
and get a response once a second:
<notified-pushids>apushId</notified-pushids>
Then fetch the update:
POST http://localhost:8080/auction/auction.jsf
and the update would be something like:
<?xml version='1.0' encoding='UTF-8'?>
<partial-response><changes><update id="rpt1:0:otime"><![CDATA[<span id="rpt1:0:otime">7d 1:54:53</span>]]></update><update id="rpt1:1:otime"><![CDATA[<span id="rpt1:1:otime">3d 4:54:44</span>]]></update><update id="rpt1:2:otime"><![CDATA[<span id="rpt1:2:otime">2d 7:55:34</span>]]></update><update id="rpt1:3:otime"><![CDATA[<span id="rpt1:3:otime">7:54:49</span>]]></update><update id="javax.faces.ViewState"><![CDATA[4506655347714165083:6047748643060694507]]></update></changes></partial-response>
This would occur once a second. Now, however, we're getting two updates per second. The first is similar to the above as the clock polls, but the second update seems to contain a change only to the ViewState key.
POST http://localhost:8080/auction/javax.faces.resource/listen.icepush.jsf
?xml version='1.0' encoding='UTF-8'?>
<partial-response><changes><update id="javax.faces.ViewState"><![CDATA[4506655347714165083:6047748643060694507]]></update></changes></partial-response>
Comparing the javax.faces.ViewState field from both updates, they are seen to be equal, so the second update is entirely redundant.
<![CDATA[4506655347714165083:6047748643060694507]]>
<![CDATA[4506655347714165083:6047748643060694507]]>
This means we're doing 2 pairs of requests every second.
Issue Links
- blocks
-
ICE-7118 MyFaces 2 and Push conflict - interferes with interaction in the Auction examples when run with MyFaces
- Closed
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #25900 | Tue Oct 11 13:29:58 MDT 2011 | mircea.toma | |
Files Changed | ||||
MODIFY
/icefaces2/trunk/icefaces/lib/icepush.jar
|
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #25899 | Tue Oct 11 13:21:37 MDT 2011 | mircea.toma | |
Files Changed | ||||
MODIFY
/icepush/trunk/icepush/core/src/main/java/org/icepush/LocalPushGroupManager.java
MODIFY /icepush/trunk/icepush/core/src/main/java/org/icepush/BlockingConnectionServer.java |