자동으로 WSJPA ObjectCache 사전 로드
OpenJPA에 대한 WSJPA(WebSphere® Java™ Persistence API) 확장은 특정 유스 케이스의 성과를 개선할 수 있는 읽기 전용 ObjectCache를 제공합니다. 기본적으로, 캐시의 데이터는 지연 메소드로 로드되며, 이는 애플리케이션에서 요청하면 개별 엔티티가 메모리로 로드된다는 것을 의미합니다. 처음부터 모든 엔티티를 로딩하려면 ObjectCache에서 구성되는 데이터베이스로부터 모든 엔티티를 사전 로드하도록 애플리케이션 서버를 구성할 수 있습니다. ObjectCache를 사전 로드하면 지연 메소드를 통해 ObjectCache를 로드하려는 경우 제한될 수 있는 엔티티를 캐시할 수 있습니다.이 구성은 JPA 2.0 스펙 레벨에서 WSJPA를 사용할 때만 지원됩니다.
이 태스크 정보

- ObjectCache에 있도록 구성된 엔티티의 경우, ObjectCache에서 모든 즉시 관계를 구성해야 합니다. 지연 관계는 사용할 수 없습니다.
- 애플리케이션 서버가 ObjectCache를 사전 로드하는 동안, 엔티티는 데이터베이스로부터 가져옵니다. 애플리케이션 서버는 다른 메소드로 로딩되는 ObjectCache에 임의의 엔티티도 추가하지 않습니다.
- 사용자의 오브젝트 그래프가 복잡한 경우, 자동으로 캐시를 로드하면 긴 시간이 소요될 수 있습니다.
- 사용 가능한 모든 메모리를 소비할 수 있기 때문에 이 기능을 사용할 때는 주의하십시오. 이 기능을 작동하려면 JPA 환경에 메모리의 전체 데이터 세트가 있어야 합니다.
사전 로드 프로세스가 완료되면 다음과 유사한 정보 메시지를 표시합니다.
Successfully loaded the ObjectCache with [...] Entities in [...] seconds.
프로시저
예
- 다음 특성은 애플리케이션 서버가 첫 번째 EntityManager를 작성하면
ObjectCache가 자동으로 로드됨을 지정합니다.
<property name=" wsjpa.ObjectCache" value=”true(Types=com.ibm.wsjpa.Foo; com.ibm.wsjpa.Bar, MaxSize=auto)”/>
- 다음 특성은 애플리케이션 서버가 첫 번째 EntityManager를 작성할 때
ObjectCache가 자동으로 로드됨을 지정하며 ObjectCache는 20분마다 다시 로드됩니다.
<property name=" wsjpa.ObjectCache" value=”true(Types=com.ibm.wsjpa.Foo; com.ibm.wsjpa.Bar, MaxSize=auto, EvictionSchedule=+20)”/>