Contador de usuários online
06/11/2009 00:00
0
Alguém sabe como fazer para contar os usuários que estão online em Grails?

Tava pensando em colocar uma variável global no servletContext e a cada login adicionar mais um na variavel, eu poderia diminuir menos um na variável quando o usuário faz logout, mas como nem todo usuário faz logout, não dá para fazer isso.

Alguma idéia?

Obrigado.
Tags: Grails


0
tem um forma sim, utilize o sessionListener , procurando no google achei uma exemplo que faz exatamente o que vc precisa :

import java.util.Date;

import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class SessionListen implements HttpSessionListener {

private int sessionCount;

public SessionListen() {
this.sessionCount = 0;
}

public void sessionCreated(HttpSessionEvent se) {
HttpSession session = se.getSession();
session.setMaxInactiveInterval(60);
synchronized (this) {
sessionCount++;
}
String id = session.getId();
Date now = new Date();
String message = new StringBuffer("New Session created on ").append(
now.toString()).append("\nID: ").append(id).append("\n")
.append("There are now ").append("" + sessionCount).append(
" live sessions in the application.").toString();

System.out.println(message);
}

public void sessionDestroyed(HttpSessionEvent se) {

HttpSession session = se.getSession();
String id = session.getId();
synchronized (this) {
--sessionCount;
}
String message = new StringBuffer("Session destroyed"
+ "\nValue of destroyed session ID is").append("" + id).append(
"\n").append("There are now ").append("" + sessionCount)
.append(" live sessions in the application.").toString();
System.out.println(message);
}
}


Abraços
07/11/2009 00:00


0
Valeu era disso que eu precisava, muito obrigado.

Mas onde eu coloco essa classe no grails?
07/11/2009 00:00


0
não testei, mas segue o link :

http://old.nabble.com/How-to-inject-httpsessionlistener-to-Grails--td25519701.html

depois poste no forum a experiencia

Abraços
07/11/2009 00:00


0
Oi,

Nesse caso, você tem duas alternativas. Ou deixa ela como está (pure java) e deixa em src/java/teu-pacote, ou porta ela pra groovy pra ficar mais legível e menos verborrágica, neste caso, ela fica em src/groovy/teu-pacote.

Mesmo assim, você vai ter que registrar a classe como um listener web válido, neste caso, diretamente no seu web.xml.

[]s,
11/11/2009 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto