Sugestões: Como criar uma classe com Scope Application sem uso de JSF ou spring?

6 respostas
J

Eu tenho uma App rodando em Tomcat está bem simples.

Porém eu precisaria manipular alguns dados ao VIVO para usuário.

Por exemplo, quantos estão conectados com browser aberto, horário e etc…

seria apenas uma classe com uma ArrayList de objetos sendo atualizada todo o tempo
por isso precisaria ser SCOPE Apllication que seria atualizada em tempo real sempre.

Estaria um polling verificando esta classe e exibindo de tempos em tempos no navegador.

Pensei numa classe SingleTon,ou uma classe com metodos e atributos estaticos especialmente para reflitir
na aplicação toda.

Mas teria algum modo mais elegante de fazer isso ?

Aceito sugestões!

6 Respostas

C

Boa tarde

Acredito que você possa utilizar um Listener em escopo de Application, dê uma olhada nesse exemplo: http://www.javabeat.net/2009/02/servletcontextlistener-example/

Falou.

J

Interessante!

você diz eu implementar ServletContextListener em minha própria classe
e utilizar !

Mas pelo fato de ser um listener no web.xml , não ficaria sendo chamada até em momentos que não fosse chamada por nenhum outro processo ?

Obrigado pela sugestão

tveronezi

cdi não rola?
http://docs.oracle.com/javaee/6/tutorial/doc/gjbbk.html

J

CDI é bem poderoso pelo que eu li,

o que seria preciso para utiliza-lo ?

Seria baixar o JSR299.jar ? é isso ?

tveronezi

Exato. Qualquer servidor Java EE 6 Web Profile e + já implementa isso.

sergiotaborda

jhieiy:
Eu tenho uma App rodando em Tomcat está bem simples.

Porém eu precisaria manipular alguns dados ao VIVO para usuário.

Por exemplo, quantos estão conectados com browser aberto, horário e etc…

seria apenas uma classe com uma ArrayList de objetos sendo atualizada todo o tempo
por isso precisaria ser SCOPE Apllication que seria atualizada em tempo real sempre.

Estaria um polling verificando esta classe e exibindo de tempos em tempos no navegador.

Pensei numa classe SingleTon,ou uma classe com metodos e atributos estaticos especialmente para reflitir
na aplicação toda.

Mas teria algum modo mais elegante de fazer isso ?

simplesmente guarde seus objetos em request.getSession().getServletcontext().

O Servletcontext represent o escopo de application.

Criado 4 de fevereiro de 2013
Ultima resposta 4 de fev. de 2013
Respostas 6
Participantes 4