I've been trying to figure out why this does not work, and I am out of ideas, so I could use some help.
<a4j:push address="systemLinks" > <a4j:ajax event="dataavailable" render="systemLinksPanel" /> </a4j:push> <a4j:outputPanel id="systemLinksPanel"> stuff here </a4j:outputPanel>
INFO: Installed AtmosphereHandler org.atmosphere.handler.ReflectorServletProcessor mapped to context-path: /*
INFO: Atmosphere is using async support: org.atmosphere.container.Servlet30CometSupport running under container:
WebLogic Server 126.96.36.199.0 Fri Jun 7 15:16:15 PDT 2013 1530982 WLS_188.8.131.52.0_GENERIC_130607.1100
Oracle WebLogic Server Module Dependencies 12.1 Tue May 21 06:02:40 PDT 2013 using javax.servlet/3.0
INFO: Installing Filter PushHandlerFilter
INFO: Using broadcaster class: org.atmosphere.cpr.DefaultBroadcaster
TopicKey topicKey = new TopicKey("systemLinks"); TopicsContext topicsContext = TopicsContext.lookup(); topicsContext.publish(topicKey, "fly, you fools!");
On Tomcat 7 this work perfectly, and always refreshes 'systemLinksPanel' when data is published.
On Weblogic 12c, I am pretty sure the response is sent, but it is never received by the client 'XMLHttpRequest'. What I mean by that is that
ajaxRequest.readyState == 4
ajaxRequest.responseText == ""
So no events are triggered. I have examined the exchange with a network protocol analyzer, and I do see the response:
<"topic":"systemLinks","data":"fly, you fools!","number":0>
Now I don't know where else to look. The data leaves the server, but does not arrive at the destination. What else can I check?
The only difference I see in the response from Tomcat is that the two leading zeros are not there. So '3b' instead of '003b'.