애플리케이션 성능 및 엔티티 Bean 동작
애플리케이션은 Bean 데이터 관리의 해당 측면을 약간 다른 방식으로 처리함으로써 이점을 얻을 수 있으므로 WebSphere® Application Server를 사용하여 EJB(Enterprise JavaBeans) 스펙에서 요구하는 두 가지 작동을 대체할 수 있습니다.
findBy 메소드에 대한 애플리케이션 관리 지속적 저장소 동기화
- 현재 트랜잭션에 나열되어 있고 findby 메소드가 리턴하는 유형과 동일한 유형의 Bean 목록을 작성합니다.
- 조회를 실행하기 전에 이러한 엔터프라이즈 Bean의 상태를 지속적 기억장치에 저장합니다.
그렇지만 EJB 컨테이너가 모든 findBy 메소드에 대해 이 조치를 자동으로 수행하여 비효율적인 낭비 요소가 되는 시나리오도 있습니다. 예를 들어, 애플리케이션 자체적으로 findBy 조회에 대해 최신 데이터를 사용하도록 하거나 애플리케이션이 일부 현재가 아닌 데이터를 조회 결과의 일부로 허용하는 경우를 들 수 있습니다.
WebSphere Application Server를 사용하면 애플리케이션 제어 하에 동기화 프로세스를 시작하여 애플리케이션에서 특정 EJB 유형에 대한 컨테이너 관리 동기화를 사용 불가능하게 할 수 있습니다. 이러한 기능을 주의하여 사용해서 데이터 무결성을 보장하면서 동시에 애플리케이션의 성능을 향상시킬 수 있습니다. 엔티티 Bean 및 데이터 저장소에 대한 동기화 조작 주제를 참조하십시오.
비수정 엔티티 Bean 인스턴스에 대한 ejbStore 호출 금지
EJB 스펙에 대해 트랜잭션이 커미트될 때 EJB 컨테이너가 트랜잭션 내 모든 엔티티 Bean에 대해 사용자 제공 ejbStore 메소드를 호출해야 합니다. CMP Bean에 대한 이 메소드는 주로 비어 있기 때문에 CMP(Container-Managed Persistence) Bean의 경우 일반적으로 BMP(Bean-Managed Persistence) Bean과 달리 이 조작이 필요하지 않습니다. 메소드가 비어 있지 않은 경우라도 애플리케이션에서는 Bean의 지속적 상태가 현재 트랜잭션에서 수정되는 경우에만 이 메소드를 호출하면 됩니다.
WebSphere Application Server는 애플리케이션 내 특정 EJB 유형에 대해 이 작동을 수행할지 여부를 표시할 수 있는 메커니즘을 제공합니다. 비수정 EntityBean 인스턴스에 대한 ejbStore 호출 금지 주제를 참조하십시오.