[richfaces-issues] [JBoss JIRA] (RF-13592) a4j:push doesn't work after rendering

Brian Leathem (JIRA) issues at jboss.org
Wed Apr 30 02:38:35 EDT 2014


     [ https://issues.jboss.org/browse/RF-13592?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Brian Leathem updated RF-13592:
-------------------------------

    Sprint: 4.3.7 Sprint 1  (was: 4.3.7 Sprint 2)

    
> a4j:push doesn't work after rendering
> -------------------------------------
>
>                 Key: RF-13592
>                 URL: https://issues.jboss.org/browse/RF-13592
>             Project: RichFaces
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: component-push/poll
>    Affects Versions: 4.3.5
>         Environment: JBoss EAP 6.2
> Browser: Chrome 33.0.1750.154 and IE 8.0.7601.17514
> JSF 2.19, Richfaces 4.3.5
>            Reporter: Igor Bolshakov
>            Assignee: Brian Leathem
>            Priority: Critical
>              Labels: gss, needs-qe
>             Fix For: 4.3.7
>
>         Attachments: a4j.log, localhost.har, push-test.zip, push-test.zip, screenshot.png, web.xml
>
>   Original Estimate: 4 hours
>  Remaining Estimate: 4 hours
>
> I use {{rendered}} attribute to start/stop a4j:push component in example below. After rendering of a4j:push element the handling of incoming push messages is broken. In my simple example I set alert to notify about recieved message (see attached screenshot).
> View xhtml code:
> {code:xml}<?xml version="1.0" encoding="ISO-8859-1"?>
> <ui:composition xmlns="http://www.w3.org/1999/xhtml"
>     xmlns:a4j="http://richfaces.org/a4j"
>     xmlns:h="http://java.sun.com/jsf/html"
>     xmlns:ui="http://java.sun.com/jsf/facelets">
>     <h:form>
>         <a4j:outputPanel id="push-panel">
>             <a4j:push address="TEST_ADDRESS" ondataavailable="alert('event.rf.data=' + event.rf.data)"
>                 rendered="#{testBean.enabled}"/>
>         </a4j:outputPanel>
>         <a4j:commandButton id="startBtn" value="Start Push" action="#{testBean.startPush}" render="push-panel"/>
>         <a4j:commandButton id="stopBtn" value="Stop Push" action="#{testBean.stopPush}" render="push-panel"/>
>         <a4j:commandButton id="sendMessage" value="Send Message" action="#{testBean.sendMessage}"/>
>     </h:form>
> </ui:composition>{code}
> Backing bean class:
> {code}public class TestBean {
>     private boolean enabled = false;
>     public boolean isEnabled() {
>         return enabled;
>     }
>     public void startPush() {
>         enabled = true;
>     }
>     public void stopPush() {
>         enabled = false;
>     }
>     public void sendMessage() throws MessageException {
>         TopicsContext.lookup().publish(new TopicKey("TEST_ADDRESS"), "Hello World");
>     }
> }{code}
> Configuration in web.xml (see attachment).
> Scenario:
> 1) Open page
> 2) Click "Start Push" button
> 3) Click "Send Message" button 
> 4) Alert "event.rf.data=Hello World" is shown (see attached screenshot)
> 5) Click "Stop Push" button
> 6) Polling is closed (see localhost.har in attachment)
> 7) Click "Start Push" button
> 8) Polling is started (see localhost.har in attachment)
> 9) Click "Send Message" button
> 10) Message is recieved (see localhost.har in attachment)
> 11) No alert, no javascript error
> For more details I saved a4j:log output in a4j.log file.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the richfaces-issues mailing list