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

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!

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.

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

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

CDI é bem poderoso pelo que eu li,

o que seria preciso para utiliza-lo ?

Seria baixar o JSR299.jar ? é isso ?

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

[quote=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 ?

[/quote]

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

O Servletcontext represent o escopo de application.