태스크 및 작업 단위 고려사항

애플리케이션 프로파일링 기능은 작업 단위(UOW) 개념으로 작동합니다. 이런 경우에 UOW는 트랜잭션 또는 ActivitySession을 의미합니다.

메소드의 태스크 이름은 UOW가 시작된 경우에만 사용됩니다. 이는 해당 메소드가 호출되기 때문입니다. 이 기능은 활성 작업 단위를 기반으로 더욱 예측 가능한 데이터 액세스 패턴을 제공합니다. 좀 더 확실히 말하면, 이 방식에서는 구성된 액세스 인텐트가 단 하나인 Bean 유형이 UOW 내에 로드되는데, 이는 Bean이 애플리케이션 프로파일에서 단 하나의 액세스 인텐트를 가지고 구성되기 때문입니다. 이렇게 구성된 Bean 유형의 액세스 인텐트는 어셈블리를 수행할 때 판별되며 애플리케이션 프로파일 서비스에 의해 시행됩니다.

태스크 이름은 항상 작업 단위와 연관되므로 해당 UOW의 지속 기간 동안 태스크 이름이 변경되지 않습니다. 메소드 호출에 따라 메소드와 연관되는 UOW가 시작된 경우, 태스크 이름이 메소드와 연관되어 있으면 해당 태스크 이름이 UOW의 이름으로 사용됩니다. 작업 단위에 지정된 태스크는 이름 지정된 UOW로 간주됩니다.

태스크 이름이 UOW를 시작한 메소드와 연관되지 않으면, 기본 액세스 인텐트가 사용되고 UOW에는 이름이 지정되지 않습니다. 작업 단위는 UOW가 시작된 경우에만 이름이 지정될 수 있으며 해당 태스크 이름은 UOW의 수명을 위해 유지됩니다. 또한 UOW에 지정된 태스크는 해당 UOW의 수명 동안 변경할 수 없습니다. 메소드가 UOW(컨테이너 관리 또는 컴포넌트 관리)를 시작하지 않으면 메소드와 연관되는 태스크 이름이 무시됩니다.

작업 단위에 지정된 태스크 이름은 변경할 수 없습니다. 그러나 많은 다양한 애플리케이션 호출로 이루어진 호출 시퀀스에서 서로 다른 호출에 대해 서로 다른 태스크 이름이 사용되어야 합니다. 이 경우에는 배치자가 새 UOW를 시작하고 필요한 태스크 이름을 UOW와 연관시키는 것이 중요합니다. 예를 들어, sb1은 세션 Bean이고 eb2 및 eb3은 CMP(Container-Managed Persistence) 엔티티 Bean인 Bean을 포함한다고 가정합니다. sb1이 호출되면 트랜잭션이 시작되고 태스크 't1'이 여기에 연관됩니다. 그런 다음, sb1이 eb2 및 eb3를 호출한다고 가정합니다. eb2나 eb3가 모두 작업 단위를 작성하지 않는 경우에는, 해당 Bean이 sb1으로부터 UOW 컨텍스트 내에서 태스크 이름(t1)으로 실행됩니다. eb2나 eb3가 t1 이외의 태스크 이름 내에서 실행되어야 하면, 해당 bean이 작업 단위를 정의하여 올바른 태스크 이름과 연관시켜야 합니다.

애플리케이션 배치자가 메소드의 트랜잭션을 구체적으로 구성하지 않은 경우에는, WebSphere Application Server가 기본적으로 글로벌 트랜잭션을 작성합니다. 이 사실은 중요한데, 태스크가 메소드에 정의되어 있지만 해당 메소드에 UOW가 구체적으로 구성되지 않은 경우 EJB 컨테이너는 메소드를 대신하여 자동으로 글로벌 트랜잭션을 작성하기 때문입니다. 마찬가지로, 이 태스크 이름은 UOW와 연관되고 이 태스크에 맵핑된 애플리케이션 프로파일이 사용됩니다.

참고: 애플리케이션 프로파일 서비스의 콘솔 페이지에서 5.x 호환 모드 속성을 선택하면, J2EE 1.3 애플리케이션에 구성된 태스크는 작업 단위와 연관되지 않아도 되며 임의로 적용되고 대체될 수 있습니다. 조작의 권장 모드는 아니며 데이터베이스 액세스 중 예상되지 않은 교착 상태로 이어질 수 있습니다. 애플리케이션 프로파일링 5.x 호환 모드 하에서 실행 중인 애플리케이션과 해당 호환 모드에서 실행되고 있지 않는 애플리케이션 사이에 요청 시 태스크는 통신되지 않습니다.

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



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