Closed chrisritter closed 11 years ago
Any way to reproduce this?
Our Channel API support is not the best -- we're missing web-sockets support to ease the impl. We'll get web-sockets once we upgrade AS integration to Wildfly8.
@luksa ^^
WildFly 8 Beta1 is due in August but the Final isn't due till November. When are you guys planning on upgrading to WildFly?
I'm upgrading as we speak. :-)
@alesj any news on channel support?
@chrisritter i just added Channel test to TCK, and @luksa is looking into it why it's failing.
It's now quite trivial to add a new test, due to Arquillian Drone integration, so I encourage you to add one that would expose your issue.
@chrisritter re-implemented ChannelService version is now in upstream master. Can you give it a spin?
@alesj Be happy to, I'll try it out tonight
@chrisritter any luck?
@alesj Sorry for the delay on this, ended up spending a lot more time on our internal release last week than I intended.
Tried building channel/common separately but it looks like there are two many changes since Beta 5 to do that any more.
I can and probably should build a very simple chat app for Capedwarf testing.
I can and probably should build a very simple chat app for Capedwarf testing.
Yeah, that would be great -- if you hurry, and there are still some issues, we can try to fix them before next release -- which is definitely this week.
@alesj Just created a simple chat app... You can pull it from here: https://github.com/chrisritter/simplechat
@chrisritter thanks! Will have a look asap.
Any luck?
@chrisritter need to Mavenize the example first. ;-) Will probably do it 1st thing tomorrow morning, EuroBasket atm. :-)
@chrisritter pull-request sent -- for Mavenization + cleanup
Atm I get this error:
23:12:09,487 ERROR org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/].[Channel] JBWEB000236: Servlet.service() for servlet Channel threw exception: java.lang.IllegalArgumentException: Channel presence to /_ah/channel/connected|disconnected is set up wrong at com.simplechat.ChannelServlet.broadcastMessage(ChannelServlet.java:90) [classes:] at com.simplechat.ChannelServlet.doPost(ChannelServlet.java:82) [classes:] at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final.jar:1.0.2.Final] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.jboss.capedwarf.appidentity.GAEFilter.doFilter(GAEFilter.java:65) [capedwarf-appidentity-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:407) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.0.Final.jar:7.2.0.Final] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.3.Final.jar:7.2.3.Final] at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_17]
This means the channel presence service is missing: https://developers.google.com/appengine/docs/java/channel/#Java_Tracking_client_connections_and_disconnections
@chrisritterc9 >> This means the channel presence service is missing Hmmm, true.
I'm trying to figure out when and who/what should trigger this post to /_ah/channel/connect | disconnect.
In SDK this is done by LocalChannelServlet, which looks like it's triggered periodically -- command=poll. But I'm yet to see what invokes LocalChannelServlet::doGet with command=connect.
@chrisritter any idea?
Ha, looks like I got it working. :-)
@chrisritter I pushed the fix/impl into upstream. I can send chat msgs from 2 diff browsers. :-)
Sweet.
POST http://localhost:8080/_ah/channel?transport=SuccessiveXmlHttp&token=2173355392289529774&requestIndex=0 404 (Not Found) jsapi:215 SuccessiveXmlHttpTransport.sendRequest jsapi:215 SuccessiveXmlHttpTransport.start jsapi:210 CapedwarfSocket.connect jsapi:97 (anonymous function)