2013-11-15 2 views
1

내 응용 프로그램에서 모든 활성 세션의 맵을 가져오고 싶습니다. 저는 struts와 tomcat을 사용하고 있습니다.모든 활성 세션의 맵을 만드시겠습니까?

또는 내가 값으로 키 및 세션 개체와 세션 ID와 내 응용 프로그램에 대한 활성 세션의지도를 만드는 방법

. 감사합니다.

+1

가능한 중복 [내가 JSESSIONID에서 자바의 HttpSession를로드 할 수 있습니까?] (http://stackoverflow.com/a/3092495/1225328) – sp00m

답변

0

정확하게 TOMCAT에서 수행 할 방법이 없습니다. 적어도 휴대용 솔루션은 아닙니다. 세션을 저장할 때 파일 시스템에 저장된 세션을 검색 할 수 있다고 생각합니다 (Tomcat의 구성에 달려 있습니다).

대안으로 HttpSessionListener을 등록하고이를 계산하여 저장하는 것이 좋습니다.

1

예, 구현하려면 반드시 HttpSessionListener으로 가야합니다. 이렇게하면 세션 생성 및 이벤트 삭제를 캡처하는 데 도움이됩니다. 여기서 세션 객체를 맵에 추가하거나 제거하는 로직을 작성할 수 있습니다. 예를 들어

@Override 
    public void sessionCreated(HttpSessionEvent arg0) { 
    //get the session object from the event 
    //put the session id and session object to your map 
    } 

    @Override 
    public void sessionDestroyed(HttpSessionEvent arg0) { 
    //get the session object 
    //remove it from the map using it's session id 
    } 
관련 문제