컨테이너 관리 지속성 Bean 연관 기술

WebSphere® Application Server는 EJB(Enterprise JavaBeans) 스펙에서 설정한 표준 이상의 CMP(Container-Managed Persistence) 서비스를 전달합니다.

스펙에 따라, EJB 컨테이너는 기반 데이터베이스와 CMP Bean의 상태를 동기화하며, 엔티티 Bean 간의 관계(컨테이너 관리 관계 또는 CMR)를 관리합니다. 그러므로 EJB 스펙에서는 개발자가 데이터베이스 특정 코드를 쓰지 않아도 됩니다. 대신, 비즈니스 로직 작성에 중점을 둘 수 있습니다. WebSphere Application Server는 다음 추가 CMP 기능을 제공하여 비즈니스 로직의 런타임 성능을 최적화할 뿐 아니라 개발 효율성을 더욱 증가시킵니다.
엔티티 Bean 상속
상속은 객체 지향 소프트웨어 개발의 주요 측면이며 EJB 스펙에서 현재 누락된 기능입니다.

인터페이스를 사용하면 개발자가 모든 서브클래스에서 상속된 수퍼클래스 엔티티 Bean에서 필드, 관계 및 비즈니스 로직을 정의할 수 있습니다. WebSphere Application Server 및 엔티티 Bean으로 상속 사용에 대한 세부사항은 Rational® Application Developer 문서의 EJB 상속 섹션을 참조하십시오.

액세스 인텐트 정책
액세스 인텐트 정책은 지속성 메커니즘이 적절한 최적화를 작성할 수 있도록 Java™ EE (Java Platform, Enterprise Edition) 애플리케이션 개발자에게 엔티티 Bean의 필수 상태로 애플리케이션의 상호작용의 목적을 표시할 수 있는 메커니즘을 제공합니다. 예를 들어, 트랜잭션 과정 중 엔티티가 업데이트되지 않음을 아는 경우, 지속성 관리는 동시성 제어를 완화하며 트랜잭션 기간 동안 해당 Bean에 대한 업데이트 조작을 사용 안함으로 설정하여 데이터 무결성을 유지보수할 수 있습니다.
트랜잭션에서 데이터 캐싱
트랜잭션에서 데이터 캐싱은 성능을 크게 개선할 수 있는 Bean 개발자가 설정한 구성 가능한 옵션입니다. 기본적으로 드물게 변경되는 데이터에 대한 것입니다. 옵션은 LifetimeInCache로 알려져 있습니다. 지정된 수명이 만기될 때까지 캐시의 수명 중 구성된 엔티티의 데이터는 캐시에 저장됩니다. 구성된 수명 중 엔티티에 대한 요청이 캐시된 데이터를 사용하며, 기반 데이터 저장소에 대해 조회가 실행되지 않습니다. 데이터가 데이터 저장소에서 검색된 이후 또는 특정 기간(일 또는 주)까지 경과된 시간으로 수명이 표시될 수 있습니다. LifetimeInCache 값은 다음 중 하나일 수 있습니다.
Off
LifetimeInCache 설정이 무시됩니다. 이 유형의 Bean은 트랜잭션 범위 캐시에만 캐시됩니다. 트랜잭션이 완료되면 이 인스턴스에 대해 캐시된 데이터가 유효하지 않습니다.
ElapsedTime
트랜잭션(Bean 인스턴스가 검색된)이 완료되면 LifetimeInCache 설정의 값이 현재 시간에 추가됩니다. 이 인스턴스에 대해 캐시된 데이터는 이 시간 이후 유효하지 않습니다. LifetimeInCache 설정의 값은 분, 시간, 일 등이 될 수 있습니다.
ClockTime
LifetimeInCache의 값은 특정 시간을 표시합니다. 값은 바로 이전 또는 다음 자정에 추가되어 미래 시간 값을 계산하며, 이 값은 경과된 시간으로 처리됩니다. 이 설정을 사용하면 데이터가 검색되는 시간과 상관 없이 이 Bean 유형의 모든 인스턴스가 특정 시간에 캐시된 데이터를 유효하지 않게 함을 지정할 수 있습니다.

이전 또는 다음 자정을 사용하여 미래 시간 값을 계산하는 것은 LifetimeInCache의 값에 따라 다릅니다. LifetimeInCache 및 이전 자정이 현재 시간보다 이전이면 다음 자정이 사용됩니다.

ClockTime 설정을 사용하면 LifetimeInCache의 값은 24시간 이상을 표시해서는 안됩니다. 그러한 경우, 24시간 이하 값을 얻을 때까지 캐시 관리자는 24시간의 증분을 뺍니다. 12시 자정에서 데이터를 무효화하려면 LifetimeInCache를 영(0)으로 설정합니다.

WeekTime
LifetimeInCache의 값이 이전이나 다음 일요일 자정(실제로 토요일 오후 11시 59분에서 1분을 추가한)에 추가되는 점을 제외하고는 이 설정은 ClockTime과 유사합니다. 이 경우, LifetimeInCache 값은 7일 이상이 아닌 24시간 이상을 표시할 수 있습니다.
세부사항은 어셈블리 도구의 LifetimeInCache 도움말 섹션을 참조하십시오.
참고:

엔티티 Bean에서 사용된 데이터가 이전 트랜잭션에서 로드될 수 있기 때문에, Bean을 LifeTimeInCache로 구성하는 경우, Bean에 대한 격리 레벨 및 업데이트 잠금(액세스 인텐트 정책)은 현재 트랜잭션에 대해 유실됩니다. 애플리케이션에 읽기 전용 데이터에서 정보를 계산한 다음 다른 Bean에 결과를 저장하는 로직이 있는 경우, 데이터 무결성에 문제가 있을 수 있습니다. 인메모리 캐시에서 데이터를 로드하면 데이터가 적절하게 잠겨 있는지 확인하도록 읽기-읽기 일관성 검사를 수행하는 것이 중요하게 됩니다. 그렇지 않으면 기본 데이터가 변경되었음을 알지 못하고 데이터가 데이터베이스에 업데이트되어 이전 변경사항이 유실될 수 있습니다. 자세한 정보는 어셈블리 도구로 읽기-읽기 일관성 검사 구성 주제를 참조하십시오.

읽기 전용 엔티티 Bean
엔티티 Bean을 읽기 전용으로 선언하면 잠재적으로 캐싱에서 제공된 성능 개선이 높아집니다. 동일 원칙에 대해 두 기능이 작동하여 지속적 스토리지의 데이터에서 엔티티 Bean을 자주 다시 로드하여 발생하는 오버헤드를 최소화합니다. 엔티티 Bean을 읽기 전용으로 지정하면, 사용자 애플리케이션의 요구에 따라 다시 로드 요구사항 및 빈도를 지정할 수 있습니다.

이 기능을 사용하려면, 어셈블리 도구 내 선택 목록을 통해 Bean 캐싱 옵션의 특정 세트를 선택하여 읽기 전용으로 Bean 유형을 선언합니다. 세부사항은 어셈블리 도구로 읽기 전용 일관성 점검 구성을 참조하십시오.


주제 유형을 표시하는 아이콘 참조 주제



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