2010-02-12 4 views
4

Tomcat에서 Spring을 사용하여 JSF 응용 프로그램 빌드. 대상은 웹 팜이며 클라이언트는 응용 프로그램을 설계하여 LB의 "고정 세션"에 의존하지 않고로드 균형을 조정할 수 있도록 요청했습니다.웹 팜의 jsf 세션

.NET에서 세션 저장소를 SQL Server 또는 ASP.NET State Service로 구성 할 수 있습니다. Java 세계에는 어떤 대안이 있습니까? 예를 들어 MySQL 데이터베이스를 가리키는 다른 세션 상태 저장소에 연결하는 표준 방법이 있습니까? Spring은 후크를 제공합니까?

답변

2

이 경우 servletcontainer는이 경우 Tomcat입니다. servletcontainer는 세션을 관리하고 제공하는 컨테이너입니다. 따라서 JSF와 Spring은 여기에 할 일이 없습니다. 그들은 서블릿 컨테이너에서 request.getSession() 등으로 투명하게 가져옵니다.

톰캣, 당신의 custom session manager implementation를 제공 할 수있는 웹 애플리케이션의 Context :

<Context ...> 
    <Manager className="com.example.SessionManager"> 

..where com.example.SessionManager 구현 org.apache.catalina.Manager의 계약에 따라. 거기에 데이터베이스로 세션을 백업하는 코드를 작성할 수 있습니다.

그러나 특정 요구 사항에 대한 대안이 있지만 사용자 정의 관리자/데이터베이스로 다시 작성하는 대신 Tomcat의 내장 클러스터링/세션 복제 기능을 선택할 수 있습니다. Tomcat Clustering/Session Replication HOW-TO에서 자세한 내용을 읽어보십시오.

+0

우리는 개발에 tomcat만을 사용하고 있기 때문에 생산 사이트는 자체 구현이있는 websphere를 사용하고 있습니다 (http://publib.boulder.ibm.com/infocenter/wasinfo/v4r0/index.jsp). ? topic =/com.ibm.websphere.v4.doc/wass_content/06061105.html). 그러나 이것이 컨테이너 별이라는 사실은 배포 권장 사항을 작성하기에 충분합니다. 감사! – roufamatic

+1

당신을 진심으로 환영합니다. Websphere가 "두포 (Hoods)"라는 Tomcat을 실제로 사용한다는 것을 아는 것이 유용 할 수 있습니다. – BalusC