Sun Java System Web Server 7.0 Update 3 관리자 설명서

자원 잠금 및 잠금 해제

서버를 통해 서버 관리자는 자원을 잠궈 해당 자원에 대한 액세스를 일련화할 수 있습니다. 잠금을 사용하면 특정 자원에 액세스하는 사용자가 있을 경우 다른 사용자가 같은 자원을 수정할 수 없습니다. 이 방법을 사용하면 여러 사용자가 서버에서 자원을 공유하기 때문에 발생하는 "업데이트 유실" 문제를 해결할 수 있습니다. 서버에서 유지 관리하는 잠금 데이터베이스는 클라이언트에서 발행하고 사용하는 잠금 토큰을 추적합니다.

서버는 항상 모든 자원에 대해 고유하도록 고안된 opaquelocktoken URI 체계를 지원합니다. 여기서는 ISO-1157.08에 기술된 것과 같은 UUID(Universal Unique Identifier) 기법을 사용합니다.

서버는 두 가지 유형의 잠금 메커니즘을 인식합니다.

전용 잠금

전용 잠금은 단일 사용자에게만 자원 액세스 권한을 부여하는 잠금입니다. 다른 사용자는 자원의 전용 잠금이 제거된 후에만 같은 자원에 액세스할 수 있습니다.

전용 잠금은 자원을 잠글 때 사용하기에 너무 경직되고 비용이 큰 경우가 많습니다. 예를 들어 프로그램이 중단되거나 잠금 소유자가 자원 잠금 해제를 잊어버린 경우 전용 잠금을 제거하려면 잠금 시간이 초과되거나 관리자가 개입해야 합니다.

공유 잠금

공유 잠금을 사용하면 여러 사용자가 자원에 대한 잠금을 받을 수 있습니다. 따라서 적절한 액세스 권한이 있는 사용자는 누구나 잠금을 얻을 수 있습니다.

공유 잠금을 사용하는 경우 잠금 소유자는 다른 통신 채널을 사용하여 작업을 조정할 수 있습니다. 공유 잠금의 목적은 공동 작업자가 자원에서 어떤 사람이 작업 중인지 알 수 있게 하는 것입니다.