1

Amazon Web Services インフラストラクチャの jBoss AS7 で Seam を使用して Web アプリケーションを開発しています。インフラストラクチャをスケールアップするために自動化を実装しましたが、AS7 構成について 2 つのことを学ぶ必要があります。

1) 別のサーバーでユーザー セッションを共有するように AS7 を構成する方法を教えてください。このリンクのようにクラスターを構成する必要があります https://docs.jboss.org/author/display/AS71/AS7+Cluster+Howto

2) 単一の AS7 で開いているセッションをコードでカウントする方法はありますか? ユーザーの作業を中断することなく EC2 マシンをオフにするために、AWS インフラストラクチャの自動ダウンスケーリングを作成する必要があります。

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 に答える