我正在亚马逊网络服务基础架构上的jBoss AS7中使用Seam开发Web应用程序。我已经实现了自动化以扩展基础架构,但我需要学习有关AS7配置的两件事:
1)如何配置AS7以在不同的服务器上共享用户会话?我需要像这个链接配置一个集群 https://docs.jboss.org/author/display/AS71/AS7+Cluster+Howto
2)有没有办法通过代码统计单个AS7中的开放会话? 我需要创建AWS基础架构的自动缩减以关闭EC2机器,而不会中断用户的工作。
答案 0 :(得分:0)
我认为您可以在sessionCreated上使用HttpSessionListener并在外部数据库中递增计数器,并在sessionDestroyed上从同一数据库递减。
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.HttpSession;
public class SessionCounter implements HttpSessionListener {
public SessionCounter() {
}
public void sessionCreated(HttpSessionEvent event) {
//@TODO increment database value
}
public void sessionDestroyed(HttpSessionEvent event) {
//@TODO decrement database value
}
public int getActiveSessionNumber() {
//@TODO return database value
}
}