1

我正在 Amazon Web Services 基础设施上的 jBoss AS7 中使用 Seam 开发 Web 应用程序。我已经实现了自动扩展基础设施,但我需要了解有关 AS7 配置的两件事:

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

2) 有没有办法通过代码计算单个 AS7 中的打开会话?我需要创建 AWS 基础设施的自动缩减规模以在不中断用户工作的情况下关闭 EC2 机器。

4

1 回答 1

0

我认为您可以使用 HttpSessionListener 并在 sessionCreated 上的外部数据库中增加一个计数器,并在 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
    }
}
于 2012-09-04T21:52:25.740 回答