ajaxjsficefacesicepush

JSF: Using AJAX push with ICEfaces (ICEpush)


I'm using ICEfaces with ICEpush to push some data to the browser.

However, it does not work like planned: It does no AJAX, it just invokes the action and returns from the action like any other non-AJAX action does.

I'm using the newest ICEfaces and ICEpush versions and Tomahawk 7 and JSF 2.

It works with neither Servlet 2.5 nor Servlet 3.0.

These are the important parts of my bean (view scoped):

public AjaxTest() {
    PushRenderer.addCurrentSession(PUSH_GROUP);
}

    public void addText() throws InterruptedException {
    for(int i = 0; i < 5; i++) {
        lines.add("line " + i);
        PushRenderer.render(PUSH_GROUP);
        Thread.sleep(1000);                     
    }
}

And this is a snippet of my form:

    <h:panelGroup>
        <h:dataTable id="ajaxTestTable" value="#{ajaxTest.lines}" var="line">
            <h:column>
                <h:outputText value="#{line}" />
            </h:column>
        </h:dataTable>
        <h:commandButton id="startAjax" value="Start"
            action="#{ajaxTest.addText}" />
    </h:panelGroup>

Did I miss something? Thanks!


Solution

  • ICEfaces 2.0 is not yet integrated with MyFaces. Have you tried your application with the included Mojarra .jar files?