애플리케이션 성능 및 엔티티 Bean 동작

애플리케이션은 Bean 데이터 관리의 해당 측면을 약간 다른 방식으로 처리함으로써 이점을 얻을 수 있으므로 WebSphere® Application Server를 사용하여 EJB(Enterprise JavaBeans) 스펙에서 요구하는 두 가지 작동을 대체할 수 있습니다.

findBy 메소드에 대한 애플리케이션 관리 지속적 저장소 동기화

EJB 2.0 및 2.1 스펙의 10.5.3 및 12.1.4.2절에서는 findBy 메소드(findByPrimaryKey 제외)의 일부로 조회를 실행하기 전에 EJB 컨테이너가 현재 트랜잭션에 나열된 유형의 엔티티 Bean 상태를 지속적 기억장치에 기록하도록 요구합니다. 즉, 컨테이너는 다음 조치를 수행합니다.
  1. 현재 트랜잭션에 나열되어 있고 findby 메소드가 리턴하는 유형과 동일한 유형의 Bean 목록을 작성합니다.
  2. 조회를 실행하기 전에 이러한 엔터프라이즈 Bean의 상태를 지속적 기억장치에 저장합니다.
EJB 인스턴스의 상태가 현재 트랜잭션에서 변경되지 않는 경우 해당 인스턴스에 대한 저장 조작을 건너뜁니다. 이를 통해 모든 지속적 데이터의 최신 상태에 대한 조회가 수행됨으로써 데이터 무결성 관련 문제 발생이 줄어듭니다.

그렇지만 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 호출 금지 주제를 참조하십시오.


주제 유형을 표시하는 아이콘 개념 주제



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