Olá Mário,

Obrigado por ter respondido.
Então vamos lá...

##### TESTE 1 ######
Eu não sei como pegar a instância da Classe FlexContext. Eu achava que
era um singleton, mas não encontrei nenhum método para obter a
instância. Eu fiz da seguinte forma:

toda vez que o servidor era requisitado eu imprimia no log o
"clientId" e o "sessionId" através dos seguintes comandos:

FlexContext.getFlexSession().getId()
FlexContext.getFlexClient().getId()

O resultado é que todas as sessionId são diferentes e os clientId são
iguais (o que era esperado).
Quando acesso o serviço por outro browser, o clientId é diferente (até
aqui Ok) e os sessionId são diferentes a cada requisição (como vem
acontecendo).

 ##### TESTE 2  (Messaging) ######

O log do BlazeDS imprime a mensagem abaixo logo depois de
"consumer.subscribe()" . De acordo com esse log, o clientId é null =/

[BlazeDS] Channel endpoint my-datapush received request.
[BlazeDS] Deserializing AMF/HTTP request
Version: 3
  (Message #0 targetURI=null, responseURI=/1)
    (Array #0)
      [0] = (Typed Object #0 'flex.messaging.messages.CommandMessage')
        operation = 5
        correlationId = ""
        body = (Object #1)
        headers = (Object #2)
          DSMessagingVersion = 1
          DSId = "91C38785-4C18-7147-B8DE-F0A9A49B8811"
        timeToLive = 0
        messageId = "61D5A64D-8D5C-2827-A49F-5CE2818B1033"
        timestamp = 0
        clientId = null
        destination = ""

[BlazeDS] Serializing AMF/HTTP response
Version: 3
  (Message #0 targetURI=/1/onResult, responseURI=)
    (Externalizable Object #0 'DSK')
      (Object #1)
        DSMessagingVersion = 1.0
        DSId = "91C38785-4C18-7147-B8DE-F0A9A49B8811"
1.234213962129E12
(Byte Array #2, Length 16)
(Byte Array #3, Length 16)
(Byte Array #4, Length 16)

On 9 fev, 10:46, Mário Júnior <[email protected]> wrote:
> Muito estranho esse comportamento.. receio q haja algum problema com o
> container (oq é muito difícil de acontecer tb)
>
> Com o Remote Object vamos fazer 2 testes:
> ##### TESTE 1 ######
> 1) Faz o seguinte mano, no construtor da sua classe de serviço vc pega o
> contexto e guarda num atributo privado da classe.
> 2) na execução do seu método, vc faz um simples println do session_id.
>
> 3) chame o método várias vezes e verifique se o id da sessão é alterado a
> cada chamada.
>
> Restulado esperado: o session_id TEM q ser sempre o mesmo para essa
> aplicação
>
> ##### TESTE 2 ######
> Sem fechar a aplicação anterior, Abra a mesma aplicação flex em outro
> browser e chame o método novamente.
> Resultado esperado: o session_id dessa nova aplicação TEM q ser DIFERENTE do
> sesison_id criado pela aplicação anterior
>
> Já com relação ao Messaging:
> 1) dê uma olhada no log do blaze (lembrando q o logging precisa estar
> ativado (true) no services-config.xml) e verifique se um clientID é criado
> no momento q o consumer é inscrito (subscribe).
>
> Dá um retorno pra gente saber.
>
> Um abraço e boa sorte.
>
> 2009/2/9 Dam <[email protected]>
>
>
>
>
>
> > Bom dia pessoal,
>
> > estou tendo um problema grave de gerenciamento de seções. A situação é
> > a seguinte:
>
> > estou trabalhando com um servidor Tomcat+Blaze DS. O canal está
> > definido como AMFChannel no arquivo services-config.xml:
>
> > <channel-definition id="my-amf"
> > class="mx.messaging.channels.AMFChannel">
> >            <endpoint url="http://localhost:8080/servidor/messagebroker/amf
> > "
> > class="flex.messaging.endpoints.AMFEndpoint"/>
> > </channel-definition>
>
> > No arquivo remoting-config.xml eu informo qual a classe que
> > representará o RemoteObject no Flex:
>
> > <destination id="service">
> >       <properties>
> >           <source>controller.Service</source>
> >           <scope>application</scope>
> >       </properties>
> > </destination>
>
> > Depois, no cliente Flex, eu crio um RemoteObject quando o modulo mxml
> > é carregado. Toda vez que clico em um botão na interface Flex ele
> > chama uma função do meu RemoteObject.
>
> > Ok, agora vamos ao problema =P
>
> > Pra quem está acostumado a usar o Tomcat, as versões mais novas vem
> > com um contador de seções na parte de gerenciamento de aplicações. O
> > que eu observo é que toda vem que eu chamo o RemoteObject o cliente
> > Flex cria uma nova seção. No início eu achava que era pq ele estava
> > criando vários RemoteObject, mas agora eu constatei que apenas 1 é
> > criado.
>
> > Alguém sabe como fazer para ele não criar uma nova seção toda vez que
> > o Flex faz alguma requisição para o servidor?
>
> > E este é apenas um caso simples. A coisa piora quando eu uso data
> > push. Quando eu crio um Consumer no Flex pra ficar ouvindo um
> > determinado cannal, ele fica criando seções indefinidamente =/
>
> --
> Mário de Souza Júnior
> Programador Java / Adobe Flexhttp://blog.mariojunior.com
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a