Olá João.
Esse é o mecanismo que estou a utilizar.
Não percebo é como as coisas funcionam do lado do java.
Este é o código que tenho do lado do flex:
var cs:ChannelSet = new ChannelSet();
var streamingAMF:AMFChannel = new
AMFChannel("my-streaming-amf",
"http://localhost:7001/IpTV/messagebroker/streamingamf");
streamingAMF.pollingEnabled = true;
streamingAMF.pollingInterval = 8000;
cs.addChannel(streamingAMF);
var msg:AsyncMessage = new AsyncMessage();
//creating new msg with "New" to get current
state.
msg.body = "New";
producer.channelSet = cs;
producer.connect();
producer.send(msg);
consumer.channelSet = cs;
consumer.subscribe();
E do lado do java tenho isto:
@Override
public Object invoke(Message message) {
AsyncMessage newMessage = (AsyncMessage)message;
newMessage.setBody("Client " + message.getBody() + "is ready!");
MessageService msgService =
(MessageService)getDestination().getService();
msgService.pushMessageToClients(newMessage, true);
return null;
}
Quando executo o método do flex que tem o producer e o consumer, ele invoca o
método invoke do lado do java, mas depois já não me devolve a mensagem
novamente para o cliente (através do
msgService.pushMessageToClients(newMessage, true);).
Sabes dizer-me porque é que não funciona?
Joel Silva
Analyst
.............................................................................................................
Novabase
Av. D João II, lote 1.03.2.3, Parque das Nações, 1998-031, Lisboa - Portugal
mailto:[email protected]
www.novabase.pt
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of João
Fernandes
Sent: segunda-feira, 26 de Janeiro de 2009 18:07
To: [email protected]
Subject: [riapt] Re: Consumir webservice em Java e despoletar evento no Flex
Boa tarde Joel,
para produzir uma mensagem para o Flex, terá de utilizar um consumer
para escutar um destino/tópico (extendendo a possibilidade de usar
sub-tópicos). Algo deste género
<script >
public function subscribe():void
{
myDestination.subscribe();
}
....
</script>
<mx:Consumer destination="myJavaDestination" id="myDestination"
message="myMessageHandler(event)" />
O destino myJavaDestination deverá estar configurado no
services-config.xml ou ser criado em runtime (o BlazeDS tem a API
necessária para o fazer).
--
João Fernandes
Adobe Certified Expert
Adobe Community Expert
http://www.onflexwithcf.org
http://www.riapt.org
Portugal Adobe User Group (http://aug.riapt.org)
--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade
Portuguesa de Rich Internet Applications - www.riapt.org" do Grupos Google.
Para enviar mensagens para este grupo, envie um email para
[email protected]
Para anular a inscrição neste grupo, envie um email para
[email protected]
Para mais opções, visite este grupo em
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---