Olá,
Estamos implementando um protótipo de testes com JBoss + JavaMediaFramework + Swing + SWT + JMS + Hibernate + Postgres + JavaComm (via porta serial) + hardware específico.
A idéia é termos um sistema para automatização de acesso, onde um operador pode, remotamente, abrir uma porta. Para isso ele usa uma aplicação swing (ou swt) java que ouve mensagens JMS de uma segunda máquina. Caso uma pessoa seja detectada próxima a porta, uma mensagem JMS é propagada para os operadores e estes ficam aptos a visualizar um stream de vídeo (rtp) com quem está na porta. Se o operador se “agradar da cara do camarada”, ele abre a porta através da sua aplicação swing, via uma mensagem jms de resposta. Nesse caso um log com o screenshot da pessoa na porta e o operador que a abriu é salvo no banco… Bem, tudo isso está funcionando legal.
O problema é que a aplicação swing que o operador usa ocupa nada menos que 18mb, mesmo rodando no tray icon do sistema. Já tentei fazer uma versão swt e fechar todos os possíveis canais abertos (stream de vídeo, EJBs desnecessários no momento, etc.), porém nada adiantou.
Agora estou em vias de implementar um cliente em Delphi ou Python (agrh!!!) para rodar no tray icon e aguardar uma mensagem de aviso (via TCP) de pessoa na porta para, então, invocar a aplicação swing cliente java…
Porém, isso é mais uma gambiarra do que uma solução
Alguém tem uma dica para eu melhorar a performance do meu cliente swing (ou swt) ?
Fico no aguardo.