Sessões do Tomcat?

7 respostas
fillipeweb

Olá,

Estou precisando fazer um gerenciamento das sessões abertas de uma determinada aplicação que está no tomcat.
Preciso conseguir saber as sessões que estão abertas e se possivel acessar atributos dessas sessões.

Como eu faço isso?

Obrigado.

7 Respostas

Giulliano

request.getSession()

Acho q vc precisa olhar os métodos do request que trabalham com sessão e ver no que eles podem te ajudar…

jgbt

de uma olhada em HttpSessionListener p/ iniciar.

[]´s

fillipeweb

Giulliano:
request.getSession()

Acho q vc precisa olhar os métodos do request que trabalham com sessão e ver no que eles podem te ajudar…

No caso o que eu quero é trabalhar com todas as sessões do meu contexto, se desse para eu olhar quais sessões estão abertas no meu contexto e acessar as mesmas.

Giulliano

para usar uma sessão vc precisa saber qual é o nome dela…

ou então usar algum método q liste todos os nomes da sua sessão dentro daquele contexo. Lembrando q sessão é valida para uma pessoa, ou por pessoa.

talvez a sessão não esteja no nível necessário para esse trabalho…existem outros níves acima da session, se não me engano os de aplicação. O nível de aplicação esta acima de sessão portanto engloba todas as sessões existentes dentro da aplicação. (estou falando sem ter plena certeza)…

fillipeweb

Giulliano:
para usar uma sessão vc precisa saber qual é o nome dela…

ou então usar algum método q liste todos os nomes da sua sessão dentro daquele contexo. Lembrando q sessão é valida para uma pessoa, ou por pessoa.

talvez a sessão não esteja no nível necessário para esse trabalho…existem outros níves acima da session, se não me engano os de aplicação. O nível de aplicação esta acima de sessão portanto engloba todas as sessões existentes dentro da aplicação. (estou falando sem ter plena certeza)…

Disso tudo eu sei, eu gostaria de saber como faz isso.

ruyoutor

jgbt:
de uma olhada em HttpSessionListener p/ iniciar.

[]´s

O conselho que o amigo lhe deu acho que seria a solução.

Você precisa criar uma classe que implemente a interface HttpSessionListener

public class Teste implements HttpSessionListener {

    public void sessionCreated(HttpSessionEvent arg0) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void sessionDestroyed(HttpSessionEvent arg0) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

Esses dois métodos são executados quando é criado uma nova sessão e quando é destruida uma sessão respectivamente

teria que colocar esse código no web.xml dentro da tag <web-app> para que o container saiba que esse evento existe.

&lt;listener&gt;
        &lt;listener-class&gt;seupacote.Teste&lt;/listener-class&gt; 
    &lt;/listener&gt;

se você estiver usando netbeans pode usar o editor visual dele para incluir esse trecho no web.xml

Acredito que com isso você consiga fazer o que precisa e se não consiguir, esse pelo menos é o caminho.

fabeen

Não sei se esta é a sua necessidade, mas o Lambda Probe pode te ajudar no gerenciamento de aplicações dentro do Tomcat. Inclusive acessar informações das sessões abertas, datasources, enfim, é bem legal.

http://www.lambdaprobe.org/d/index.htm

[]s

Criado 27 de dezembro de 2007
Ultima resposta 27 de dez. de 2007
Respostas 7
Participantes 5