쓰기 조작

com.ibm.websphere.servlet.session.IBMSession 인터페이스에서 sync 메소드를 사용하여 수정된 세션 데이터가 데이터베이스 또는 다른 WebSphere® Application Server 인스턴스에 작성될 때 수동으로 제어할 수 있습니다. 세션 데이터의 쓰기 빈도를 조정하기 위해 수동 업데이트, 서비스 서블릿 종료 및 시간 기반 쓰기 빈도 모드를 사용할 수 있습니다.

이 인터페이스는 javax.servlet.http.HttpSession 인터페이스를 확장합니다. 서블릿의 service 메소드에서 sync 메소드를 호출하여 세션의 변경사항을 외부 위치로 전송합니다. manual update가 쓰기 빈도 모드로 선택되면, 애플리케이션이 sync 메소드를 호출할 경우에만 세션 데이터 변경사항을 외부 위치에 작성합니다. sync 메소드가 호출되지 않은 경우 세션 오브젝트가 서버 캐시에서 나올 때 세션 데이터 변경사항은 유실됩니다. end of service 서블릿 또는 time based가 쓰기 빈도 모드인 상태로 sync 메소드를 호출할 때마다 세션 데이터 변경사항이 작성됩니다. sync 메소드가 호출되지 않은 경우, 변경사항은 서비스 메소드 종료 시 작성되거나 선택된 쓰기 빈도 모드에 기반한 시간 간격으로 작성됩니다.

IBMSession iSession = (IBMSession) request.getSession();
iSession.setAttribute("name", "Bob");

//force write to external store
iSession.sync( )

데이터베이스가 중단되거나 세션 값으로 업데이트 중 연결되지 않으면 sync 메소드는 마지막으로 BackedHashtable.getConnectionError 오류를 작성하기 전에 항상 3번까지 시도할 수 있습니다. 실패하는 각 연결 시도에 대해 BackedHashtable.StaleConnectionException 이 작성되고 sync 메소드에서 발견될 수 있습니다. 데이터베이스가 이러한 3회 시도 중 열리면 메모리의 세션 데이터는 지속되고 데이터베이스에 커미트됩니다.

그러나 데이터베이스가 3회 시도 후에도 설정되지 않으면 메모리의 세션 데이터는 다음 세션 무효화 검사 후에만 지속됩니다. 세션 무효화는 5분 간격으로 트리거되는 별도의 스레드에 의해 확인됩니다. 이러한 이벤트 사이에서 세션 데이터 요청이 서버로 발행되지 않으면 메모리의 데이터는 일치됩니다. 예를 들어, 5분 이내에 세션 데이터 요청이 발행되면 이전에 지속된 세션 데이터가 전송됩니다.

세션은 트랜잭션 자원이 아닙니다. sync 메소드는 클라이언트가 아닌 별도의 스레드와 연관되어 있기 때문에 작성된 예외가 1차 스레드에서 실행 중인 클라이언트로 전파되지 않습니다. 데이터의 트랜잭션 무결성은 엔터프라이즈 Bean과 같은 자원을 통해 유지보수될 수 있습니다.


주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cprs_write_ops
파일 이름:cprs_write_ops.html