Controle de sessões por servlet

Boa tarde pessoal,

Estou com um problema sério.
Precisaria que o número de sessões fosse controlado por servlet e não de forma global. Isso implicaria em cada servlet criar sua própria sessão.

Exemplo: Quero saber quantas sessões estão abertas pela servlet A e quantas sessões pela servlet B.
Precisamos saber quantos estão acessando cada um deles.

Isso é possível? Será que tem alguma configuração no Tomcat para isso?
E se for por código, como fazer controlar separadamente?

Obrigado a todos!!!

Abraços
Zovao

Oq você poderia fazer era que a cada chamada doGet/doPost em seu servlet você fazer o seguinte:[code]private static int sessoesCriadas;

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
	if(req.getSession().isNew()){
		sessoesCriadas++;
	}
	// faça o que quiser fazer
}[/code]

Oi Jakefrog,

É que desse jeito o numero de sessões continuaria global, pq o req.getsession não diferencia a sessão de uma servlet da outra.
Eu tenho 2 servlets e a quantidade de sessões tem q ser controlada separadamente para cada uma.
O problema é que as sessões para as 2 sevlets é a mesma e eu não sei como diferenciar uma da outra.
Alguém saberia?

Abraços,
Zovao

por servlet, se você tivesse um map naquela sua servlet não te atenderia? (eu estou achando que o que você precisa não tem muita relação com uma sessão HTTP, não sei se entendi bem o que você quer).

se além de ser por servlet você precisar que seja por usuário, você poderia usar um map<seuObjetoNovo, valor> sendo que esse “seu objeto novo” seria um objeto seu contendo o sessionId e o nome do atributo na sua “sessão”, com os devidos equals e hashcode…

isso resolve o seu caso?

Oi amigo,

Não entendi muito bem. Nunca usei o map.
Um dos problemas é que o usuário pode acionar os dois servlets ao mesmo tempo, pq na realidade acessam bancos de dados diferentes. O usuário pode estar montando uma lista de compras por uma servlet e outra pela segunda servlet. A questão é que eu estou amarrando os itens pela id da sessão (antes de salvar no banco de dados), e a sessão acaba sendo a mesma para ambas as servlets, ou seja, vira uma bagunça só.
A segunda questão é que cada servlet tem que controlar quantos estão acessando ao mesmo tempo, cada uma separadamente.
O patrão contratou um VPS e resolveu colocar as 2 empresas lá dentro, só que ele quer controlar os acessos.
Obrigado!!!

Abraços,
Zovao