Ola,
Estou fazendo testes com Channel do App Engine.
Fiz um teste e esta funcionando tudo bem. O problema é q eu li na especificação q eu tenho certas limitações as quais nao consigo reproduzir.
Na especificacao diz o seguinte
https://developers.google.com/appengine/docs/java/channel/overview
Pelo que eu entendi eu só consigo usar um Token por chamada javascript. Porém nos meus testes eu consigo reaproveitar o mesmo token (simultaneamente) para varias paginas e com isso consigo fazer um broadcast (o q diz na espeficacao q nao é possivel).
Apenas para mostrar em codigo eu fiz o seguinte:
Crio um token relacionado ao id “Felipe”
String tokenFelipe = ChannelServiceFactory.getChannelService().createChannel("Felipe");
supondo q o valor do token gerado tenha sido “XXYYZZZ”. em seguida ou abro 3 (ou mais) janelas e executo o javascript para me conectar no Channel:
channel = new goog.appengine.Channel("XXYYZZZ");
var socket = channel.open();
socket.onopen = onOpened;
socket.onmessage = onMessage;
socket.onerror = onError;
socket.onclose = onClose;
Ou seja, as 3 janelas estao conectadas ao mesmo Channel (pra mim, segundo a especificação isso ja nao deveria ser possivel).
Ai quando eu envio alguma notificacao para o ClientId relacionado, as 3 janelas abertas recebem a notificacao.
String clientId = "Felipe";
ChannelServiceFactory.getChannelService().sendMessage(new ChannelMessage(clientId, "enviando msg de teste"));
Eu fiz o teste local e tb subi a aplicacao para producao e funcionou.
Tem algum perigo eu implementar dessa maneira e depois de um tempo parar de funcionar?
Obrigado