按代码统计jBoss AS7会话

时间:2012-08-02 19:56:52

标签: java jboss amazon-ec2 amazon-web-services jboss7.x

我正在亚马逊网络服务基础架构上的jBoss AS7中使用Seam开发Web应用程序。我已经实现了自动化以扩展基础架构,但我需要学习有关AS7配置的两件事:

1)如何配置AS7以在不同的服务器上共享用户会话?我需要像这个链接配置一个集群 https://docs.jboss.org/author/display/AS71/AS7+Cluster+Howto

2)有没有办法通过代码统计单个AS7中的开放会话? 我需要创建AWS基础架构的自动缩减以关闭EC2机器,而不会中断用户的工作。

1 个答案:

答案 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
    }
}