Pergunta

Eu tenho aplicativo J2EE em que a Sair não é implementada corretamente, a minha intenção é fechar todos os recursos de banco de dados uma vez que o usuário fizer fora. Não tenho certeza se session.invalidate (); vai realmente ajudar, eu vou tentar isso hoje. Por favor, conselhos qual seria a melhor forma de implementar o logout para que todos os recursos valiosos são liberados quando o usuário fizer fora.

Foi útil?

Solução

minha intenção é fechar todos os recursos de banco de dados uma vez que o usuário fizer fora

Este já é um sinal de uma má prática. Os recursos DB deve ser adquirida e fechado no mais curto alcance possível, isto é, no interior do mesmo bloco método. Você nunca pode se apossar de um recurso DB (Connection, Statement e / ou ResultSet) como uma variável estática ou instância. É do recibo para vazamentos de recursos e problemas mais graves.

Se a intenção original é melhorar o desempenho de conexão, é preciso introduzir um pool de conexão. Tenha em mente que esta não é uma desculpa para manter as conexões abertas se . adquirir apenas e fechá-los o mais rápido possível da mesma forma, a própria implementação pool de conexão vai preocupar-se sobre o fato de fechar a conexão ou liberá-lo de volta para a piscina. É totalmente transparente. servidores de aplicativos decentes navios com capacidades de conexão pooling no sabor de datasources JNDI. Fazer uso dele. Uma vez feito isso, você não precisa se preocupar com quaisquer recursos DB abertos nem desempenho em tudo.

Outras dicas

Por favor, faça como

  1. Use sua conexão e outras classes de banco de dados para remover os recursos de banco de dados.
  2. Limpar você sessão usando objeto de sessão.
  3. Verifique se o cookie de ter criado no aplicativo e remover exigido um ou todos.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top