성능을 향상시키도록 WSJPA ObjectCache 구성

OpenJPA로의 WSJPA(WebSphere® Java™ Persistence API) 확장은 특정 유스 케이스에서 성능을 향상시킬 수 있는 읽기 전용 오브젝트 캐시를 제공합니다. 이 구성은 JPA 2.0 스펙 레벨에서 WSJPA를 사용할 때만 지원됩니다.

이 태스크 정보

WSJPA ObjectCache 오브젝트를 구현하면 기본 지속적 필드 액세스와 읽기 전용 유형으로의 단방향 관계 지속과 같은 정적, 읽기 전용 방법으로 사용되는 데이터 세트가 있는 애플리케이션의 성능이 향상될 수 있습니다. WSJPA ObjectCache는 EntityManagerFactory 오브젝트 레벨에서 작동하는 읽기 전용 엔티티의 비분산 캐시입니다. 이 캐시된 인스턴스는 JVM(Java Virtual Machine)에서 모든 EntityManager 오브젝트에 의해 공유되지만, 인스턴스는 어떻게도 관리되지 않습니다. 기능이 사용될 때, ObjectCache 오브젝트는 애플리케이션이 OpenJPA DataCache 오브젝트 및 데이터베이스에 액세스하기 전에 조사되고, 지속적 오브젝트는 데이터베이스에서 로드되어 OpenJPA 오브젝트 캐시에 저장됩니다. 또한, ObjectCache 구현은 더 나은 성능을 위해서도 OpenJPA DataCache 및 QueryCache 기능에 대해 사용할 수 있습니다.

다음 조건과 제한사항에 유의하십시오.
  • 애플리케이션 관점에서 엄격하게 읽기 전용인 유형을 포함합니다.
    • 읽기 전용 유형을 다음 조작으로 전달하면 UnsupportedOperationException 오류 메시지가 생성됩니다.
      • 읽기 전용 엔티티를 EntityManager.merge(…)로 전달.
      • 읽기 전용 엔티티를 EntityManager.persist(…)로 전달.
      • 읽기 전용 엔티티를 EntityManager.remove(…)로 전달.
    • WebSphere JPA 런타임에 의해 리턴된 읽기 전용 유형에 대해 setter 메소드를 호출하면 UnsupportedOperationException 오류 메시지가 생성됩니다.
  • ObjectCache에 포함되는 유형은 OpenJPA DataCache에서의 캐시에 적합할 수 없습니다. OpenJPA L2 캐시(openjpa.DataCache)에 의해 캐시 가능한 유형은 교차하지 마십시오. ObjectCache는 JPA 2.0 스펙에 의해 정의된 두 번째 레벨 캐시와 혼동하지 않아야 합니다. 유형이 교차되는 경우, EntityManager 오브젝트가 작성될 때 예외가 발생합니다.
  • 기본 필드만 포함하십시오. 그렇지 않으면 EntityManager 오브젝트가 작성될 때 예외가 발생할 수 있습니다.
  • 읽기 전용 엔티티를 EntityManager.contains(…)로 전달하면 찾기/조회 조작에서 리턴된 경우에도 항상 false가 리턴됩니다.
단일 JVM 환경에 대해 오브젝트 캐시를 사용하도록 설정하고, 이 캐시에 포함되는 유형을 지정하며, 해당 최대 요소 크기를 설정하고, 제한시간 값을 지정할 수 있습니다.
지원된 구성 지원된 구성: 선호되는 특성 이름은 wsjpa.ObjectCache이지만, openjpa.ObjectCache 역시 올바른 구성입니다. sptcfg

프로시저

다음에 수행할 작업

첫 번째 EntityManager 오브젝트가 작성될 때 전체 ObjectCache의 자동 로딩이 가능하게 하려면, 자동으로 WSJPA ObjectCache 사전 로드 주제의 단계를 따르십시오. 또한 모든 캐싱 확장기능에 대한 정보는 OpenJPA 사용자 안내서에서 캐싱에 대해 자세히 읽을 수 있습니다.

주제 유형을 표시하는 아이콘 태스크 주제



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