@Rafael, Concordo em se preocupar com performance do servidor, porém, como a requisição do pingSession() só serve para "manter" a sessão viva... no pingSession() não tem nada. é um metodo vazio e sem retorno, então, não teriamos sequer um nano-segundo de processamento gasto para isso... bom, para o meu caso atendeu 100% minha necessidade. Trabalho com aproximadamente 1500 estações e está tranquilo até o momento.
@Leonardo, PAra dar logout você pode implementar algo que possa dar um kill na sessão ou remover o usuário do array (caso tenha implementado da mesma forma que o autor do artigo) Em 1 de setembro de 2011 15:04, Leonardo Ribeiro <leojribe...@gmail.com>escreveu: > Quanto a sua observação de ter muitas requisições de acordo com o número de > usuários do sistema, eu também tenho essa interrogação na cabeça > > > 2011/9/1 Leonardo Ribeiro <leojribe...@gmail.com> > >> Rafael, >> >> Toda informação é válida. Eu tenho muito mais experiência em Java do que >> em Flex e quando surgiu essa necessidade a solução do Rodrigo me pareceu e >> parece muito interessante. >> Quanto a usar Producer/Consumer e SharedObject eu nunca utilizei então >> infelizmente não tenho uma opinião a respeito mas vou atrás de mais >> informação eles. >> De repente é uma alternativa. >> Se puder dar uma breve explanada de como funciona o esquema de >> Producer/Consumer e SharedObject pra mim seria de grande valia. >> >> Att >> >> >> >> 2011/9/1 Rafael Bandeira Rodrigues <rafab...@gmail.com> >> >>> Ok isso seria um ponto, mas a verificação do estado login simultaneo da >>> para resolver com o Producer e Consumer e o proprio SharedObject. >>> >>> Aqui por exemplo tenho na aplicação, a criação do producer e consumer >>> mediante o login que é feito por RemoteObject para uma consulta SQL que me >>> retorna os dados do login a serem guardados no SharedObject. o Producer e >>> Consumer tem esse controle de login para o modelo SaaS. Não cheguei a testar >>> se o login feito com um intervalo longo existe esse reconhecimento de >>> duplicidade, alias vou testar, mas acredito que isso funcione como o >>> controle. >>> >>> Enfim como falei estou só colocando minhas experiencias e tentando >>> descobrir novos caminhos >>> >>> >>> Obrigado, >>> >>> Rafael Bandeira Rodrigues >>> Chief Executive Officer >>> FlagNet - Soluções em Tecnologia >>> http://www.flagnet.inf.br/ >>> >>> Adobe ColdFusion 8 Certified Expert >>> Adobe ColdFusion MX 7 Certified Developer >>> Adobe Certified Professional >>> Adobe Certified Instructor >>> Adobe Certified Expert >>> Fusebox - BRASIL >>> http://www.fusebox.com.br/ >>> RafaBand - BlogSpot.com >>> http://rafaband.blogspot.com/ >>> FlagNet - Twiter >>> http://twitter.com/flagnet/ >>> >>> "Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. É >>> necessário também a ação" - William Shakespeare >>> >>> >>> >>> Em 1 de setembro de 2011 14:21, Leonardo Ribeiro >>> <leojribe...@gmail.com>escreveu: >>> >>> Rodrigo, >>>> >>>> Entendi, mas no caso de eu precisar realmente "dar logout" no usuário >>>> depois de certo tempo sem atividade essa abordagem não vai funfar neh? >>>> >>>> @Rafael >>>> >>>> Ele mantém o usuário no server para poder verificar no ato de um login >>>> se tal usuário já está logado no sistema. >>>> >>>> >>>> >>>> >>>> 2011/9/1 Rafael Bandeira Rodrigues <rafab...@gmail.com> >>>> >>>>> Rodrigo a título de curioside, até porque esse assunto me interessa. >>>>> >>>>> Do ponto de vista "funciona" eu entendi a solução, mas do ponto de >>>>> vista "solução" imagino que gere um problema. se você faz uma requisição a >>>>> cada 5min para cada usuário para manter ele logado, isso não pode gerar um >>>>> problema de acessos? se eu colocar 300 usuários dentro da aplicação isso >>>>> gera 1 ping por segundo, e me gera uma necessidade de ter um server com >>>>> maior capacidade de processamento. >>>>> >>>>> Por outro lado, tirando funcionalidades como chat ou living data não >>>>> vejo porque manter o user no server, uma vez que é possivel ter esse tipo >>>>> de >>>>> recurso de login atraves do SharedObject. Exsite algum beneficio nessa >>>>> session no server? >>>>> >>>>> >>>>> >>>>> Obrigado, >>>>> >>>>> Rafael Bandeira Rodrigues >>>>> Chief Executive Officer >>>>> FlagNet - Soluções em Tecnologia >>>>> http://www.flagnet.inf.br/ >>>>> >>>>> Adobe ColdFusion 8 Certified Expert >>>>> Adobe ColdFusion MX 7 Certified Developer >>>>> Adobe Certified Professional >>>>> Adobe Certified Instructor >>>>> Adobe Certified Expert >>>>> Fusebox - BRASIL >>>>> http://www.fusebox.com.br/ >>>>> RafaBand - BlogSpot.com >>>>> http://rafaband.blogspot.com/ >>>>> FlagNet - Twiter >>>>> http://twitter.com/flagnet/ >>>>> >>>>> "Pensar apenas ou desejar somente nunca levou ninguém a lugar nenhum. É >>>>> necessário também a ação" - William Shakespeare >>>>> >>>>> >>>>> >>>>> Em 1 de setembro de 2011 10:18, Rodrigo Valentim < >>>>> rodrigo.valen...@gmail.com> escreveu: >>>>> >>>>> Sim. O Tomcat remove sua sessão apos o timer.. meu timer aqui é de >>>>>> 5minutos... então, dessa forma o usuário pode passar 1 hora olhando pro >>>>>> monitor e a sessão não cai devido ao metodo pingSession() que existe no >>>>>> java... esse metodo é apenas para manter a comunicação viva... e assim, a >>>>>> sessão também (imagine você preenchendo um formulario que só manda pro >>>>>> java >>>>>> qdo acaba tudo... a sessão vai morrer, então você implementa um timer no >>>>>> flex que faz uso do remoteObject chamando esse metodo pingSession() (ou >>>>>> qualquer outro nome). >>>>>> >>>>>> Exatamente desta forma, consegui resolver meu problema para guardar o >>>>>> usuário logado... nunca mais tive problemas com isso! >>>>>> >>>>>> >>>>>> >>>>>> Em 31 de agosto de 2011 16:11, Leonardo Ribeiro < >>>>>> leojribe...@gmail.com> escreveu: >>>>>> >>>>>> @ Rodrigo >>>>>>> >>>>>>> Após ler as opiniões e sugestões dos colegas da lista resolvi testar >>>>>>> a sua solução e tenho algumas perguntas: >>>>>>> >>>>>>> Se eu subo o tomcat e faço o login na aplicação, o usuário é colocado >>>>>>> na sessão e se fico mais do que o tempo >>>>>>> configurado para o timeout o usuário é retirado de (usuariosLogados) >>>>>>> e (abaixo o log) >>>>>>> >>>>>>> FlexClient destruido: 63016449-9108-234B-F067-F4F2C10DD6B8 Wed Aug 31 >>>>>>> 15:53:01 BRT 2011 >>>>>>> Sessão destruida: Wed Aug 31 15:53:01 BRT 2011 >>>>>>> Sessão criada: Wed Aug 31 15:53:01 BRT 2011 >>>>>>> FlexCliente criado: 63016449-9108-234B-F067-F4F2C10DD6B8 Wed Aug 31 >>>>>>> 15:53:01 BRT 2011 >>>>>>> >>>>>>> FlexClient e sessao destruida e recriada... >>>>>>> >>>>>>> Se eu continuo a não utilizar no console eu vejo o mesmo log >>>>>>> >>>>>>> FlexClient destruido: 63016449-9108-234B-F067-F4F2C10DD6B8 Wed Aug 31 >>>>>>> 15:59:15 BRT 2011 >>>>>>> Sessão destruida: Wed Aug 31 15:59:15 BRT 2011 >>>>>>> Sessão criada: Wed Aug 31 15:59:15 BRT 2011 >>>>>>> FlexCliente criado: 63016449-9108-234B-F067-F4F2C10DD6B8 Wed Aug 31 >>>>>>> 15:59:15 BRT 2011 >>>>>>> >>>>>>> É isso mesmo? >>>>>>> >>>>>>> Outra coisa é que mesmo eu ficando tempo sem usar se eu tentar por >>>>>>> exemplo fazer >>>>>>> um cadastro eu consigo sem problema... >>>>>>> >>>>>>> >>>>>>> >>>>>>> 2011/8/31 Pedro Augusto Clemente de Melo <pedro.p...@gmail.com> >>>>>>> >>>>>>>> Leonardo, >>>>>>>> >>>>>>>> Há pouco mais de um mês estava com o mesmo problema. Devo te avisar >>>>>>>> que não é algo tão trivial. Trabalho com um projeto com configurações >>>>>>>> bem >>>>>>>> semelhantes ao seu (uso Flex3 ao invés de 4). >>>>>>>> >>>>>>>> No BlazeDS existem classes chamadas "FlexSession" e "FlexContext". >>>>>>>> Com essas classes, no Java você consegue guardar uma referência para >>>>>>>> cada >>>>>>>> instância de um cliente Flex que você tiver. >>>>>>>> >>>>>>>> Esta referência é por instância de browser no cliente (duas abas do >>>>>>>> firefox são uma mesma FlexSession e duas janelas são duas >>>>>>>> FlexSessions, não >>>>>>>> sei como ficaria no caso do Chrome onde você brinca com as abas >>>>>>>> jogando-as >>>>>>>> de uma janela para outra). >>>>>>>> >>>>>>>> A partir disso é possível implementar o login, logout e o timeout >>>>>>>> por sessão inativa. O problema é que ele só vai identificar uma >>>>>>>> atividade na >>>>>>>> sessão quando houver uma requisição para o servidor. No meu caso, >>>>>>>> existem >>>>>>>> formulários muito longos a serem preenchidos e a sessão dá timeout >>>>>>>> mesmo com >>>>>>>> o usuário trabalhando. Não recorri à requisições esporádicas para >>>>>>>> manter a >>>>>>>> sessão aberta por isto não seria escalável em produção. >>>>>>>> >>>>>>>> Pelo menos no Flex3 existe um evento chamado "IDLE" que pode ajudar >>>>>>>> neste problema. Não estudei mais afundo por que tenho demandas com >>>>>>>> prioridade maior no momento. >>>>>>>> >>>>>>>> Espero ter ajudado e se você achar alguma solução, por favor, >>>>>>>> compartilhe! >>>>>>>> >>>>>>>> Abraço >>>>>>>> >>>>>>>> Em 31 de agosto de 2011 08:59, Rodrigo Valentim < >>>>>>>> rodrigo.valen...@gmail.com> escreveu: >>>>>>>> >>>>>>>> Leonardo, >>>>>>>>> >>>>>>>>> Certa vez precisei fazer algo parecido e funcionou.... >>>>>>>>> >>>>>>>>> A ideia original foi essa http://www.cauirs.com.br/rafael/?p=119 >>>>>>>>> >>>>>>>>> Porém, se tu pesquisar por controle de usuário flex no google, >>>>>>>>> aparece outros exemplos. >>>>>>>>> >>>>>>>>> a forma que fiz foi mais simples. Todo usuário logado eu guardo em >>>>>>>>> um array >>>>>>>>> >>>>>>>>> Em 31 de agosto de 2011 08:26, Leonardo Ribeiro < >>>>>>>>> leojribe...@gmail.com> escreveu: >>>>>>>>> >>>>>>>>> Ah uma coisa que esqueci de mencionar no e-mail origial é que >>>>>>>>>> a app usar Flex 4 + BlazeDS + Java no server (com Spring e >>>>>>>>>> Hibernate) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 2011/8/31 Leonardo Ribeiro <leojribe...@gmail.com> >>>>>>>>>> >>>>>>>>>>> Pessoal, >>>>>>>>>>> >>>>>>>>>>> Preciso implementar em uma app flex4 login e logout. >>>>>>>>>>> o login já é feito (com menus sendo criados dinamicamente de >>>>>>>>>>> acordo >>>>>>>>>>> com os direitos do usuário), mas eu preciso de 2 coisas mais: >>>>>>>>>>> >>>>>>>>>>> 1 - guardar o usuário logado para que não seja possível logar >>>>>>>>>>> com o mesmo usuário duas vezes (mesmo browser outra aba, outra >>>>>>>>>>> janela >>>>>>>>>>> do mesmo browser ou outro browser - chrome e firefox por exemplo) >>>>>>>>>>> >>>>>>>>>>> 2 - ter opção de logout nas seguintes situações: >>>>>>>>>>> 2.1 - um botão "logout" na app >>>>>>>>>>> 2.2 - ao fechar o browser >>>>>>>>>>> 2.3 - ficar um determinado tempo sem usar a app >>>>>>>>>>> >>>>>>>>>>> para todos os casos de logout acima precisaria gravar um log no >>>>>>>>>>> BD. >>>>>>>>>>> >>>>>>>>>>> Inicialmente não queria ter uma tabela para guardar o usuários >>>>>>>>>>> logados, >>>>>>>>>>> preferiria ter algum controle de sessão mesmo, se possível >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> []'s >>>>>>>>>>> Leonardo >>>>>>>>>>> >>>>>>>>>>> Linux User #488650 >>>>>>>>>>> Ubuntu User #27045 >>>>>>>>>>> Mais sobre o Ubuntu em português: >>>>>>>>>>> http://www.ubuntu-br.org/comece >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> []'s >>>>>>>>>> Leonardo >>>>>>>>>> >>>>>>>>>> Linux User #488650 >>>>>>>>>> Ubuntu User #27045 >>>>>>>>>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>>>>>>>>> Para enviar uma mensagem, envie um e-mail para >>>>>>>>>> flexdev@googlegroups.com >>>>>>>>>> Para sair da lista, envie um email em branco para >>>>>>>>>> flexdev-unsubscr...@googlegroups.com >>>>>>>>>> Mais opções estão disponíveis em >>>>>>>>>> http://groups.google.com/group/flexdev >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Atenciosamente, >>>>>>>>> Rodrigo Valentim >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>>>>>>>> Para enviar uma mensagem, envie um e-mail para >>>>>>>>> flexdev@googlegroups.com >>>>>>>>> Para sair da lista, envie um email em branco para >>>>>>>>> flexdev-unsubscr...@googlegroups.com >>>>>>>>> Mais opções estão disponíveis em >>>>>>>>> http://groups.google.com/group/flexdev >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Pedro Augusto Clemente de Melo - PACM >>>>>>>> Ciência da Computação 2007-2 >>>>>>>> (81) 8795-1112 >>>>>>>> >>>>>>>> -- >>>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>>>>>>> Para enviar uma mensagem, envie um e-mail para >>>>>>>> flexdev@googlegroups.com >>>>>>>> Para sair da lista, envie um email em branco para >>>>>>>> flexdev-unsubscr...@googlegroups.com >>>>>>>> Mais opções estão disponíveis em >>>>>>>> http://groups.google.com/group/flexdev >>>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> []'s >>>>>>> Leonardo >>>>>>> >>>>>>> Linux User #488650 >>>>>>> Ubuntu User #27045 >>>>>>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece >>>>>>> >>>>>>> -- >>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>>>>>> Para enviar uma mensagem, envie um e-mail para >>>>>>> flexdev@googlegroups.com >>>>>>> Para sair da lista, envie um email em branco para >>>>>>> flexdev-unsubscr...@googlegroups.com >>>>>>> Mais opções estão disponíveis em >>>>>>> http://groups.google.com/group/flexdev >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Atenciosamente, >>>>>> Rodrigo Valentim >>>>>> >>>>>> -- >>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>>>>> Para enviar uma mensagem, envie um e-mail para >>>>>> flexdev@googlegroups.com >>>>>> Para sair da lista, envie um email em branco para >>>>>> flexdev-unsubscr...@googlegroups.com >>>>>> Mais opções estão disponíveis em >>>>>> http://groups.google.com/group/flexdev >>>>>> >>>>> >>>>> -- >>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>>>> Para enviar uma mensagem, envie um e-mail para >>>>> flexdev@googlegroups.com >>>>> Para sair da lista, envie um email em branco para >>>>> flexdev-unsubscr...@googlegroups.com >>>>> Mais opções estão disponíveis em >>>>> http://groups.google.com/group/flexdev >>>>> >>>> >>>> >>>> >>>> -- >>>> []'s >>>> Leonardo >>>> >>>> Linux User #488650 >>>> Ubuntu User #27045 >>>> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece >>>> >>>> -- >>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com >>>> Para sair da lista, envie um email em branco para >>>> flexdev-unsubscr...@googlegroups.com >>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >>>> >>> >>> -- >>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com >>> Para sair da lista, envie um email em branco para >>> flexdev-unsubscr...@googlegroups.com >>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >>> >> >> >> >> -- >> []'s >> Leonardo >> >> Linux User #488650 >> Ubuntu User #27045 >> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece >> > > > > -- > []'s > Leonardo > > Linux User #488650 > Ubuntu User #27045 > Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece > > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com > Para sair da lista, envie um email em branco para > flexdev-unsubscr...@googlegroups.com > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > -- Atenciosamente, Rodrigo Valentim -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev