2012-08-02 76 views
1

我在Amazon Web Services基礎結構上的jBoss AS7中使用Seam開發Web應用程序。我已經實現了自動化,以擴大基礎設施,但我需要了解有關AS7配置的兩件事:通過代碼計算jBoss AS7會話

1)如何配置AS7以在不同服務器上共享用戶會話?我需要像這樣配置一個集羣鏈接 https://docs.jboss.org/author/display/AS71/AS7+Cluster+Howto

2)有沒有一種方法可以計算單個AS7中的打開會話的代碼? 我需要創建AWS基礎架構的自動縮減功能,以便在不中斷用戶工作的情況下關閉EC2計算機。

回答

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