작업 영역 특성 대체

이 태스크 정보

작업 영역은 본질적으로 작업 영역을 작성하는 프로세스와 연관됩니다. 샘플 애플리케이션에서 클라이언트가 작업 영역을 시작하고 사이트 ID 및 우선순위 특성을 설정합니다. 이 작업 영역은 클라이언트가 원격 호출을 수행할 때 서버에 전파됩니다.

애플리케이션이 클라이언트 프로세스에서 가져온 특성을 임시로 대체하기 위해 작업 영역을 내포합니다. 내포 메커니즘은 자동입니다. 즉, 기존 작업 영역의 범위 안에서 UserWorkArea 인터페이스에 대해 시작을 호출하면 포함하는 작업 영역에서 특성을 상속하는 내포 작업 영역이 작성됩니다. 내포 작업 영역에 설정되는 특성은 작업 영역이 시작된 프로세스와 엄격하게 연관됩니다. 즉, 내포 작업 영역은 그를 작성한 프로세스 안에서 완료되어야 합니다. 작업 영역이 작성하는 프로세스에 의해 완료되지 않는 경우 프로세스가 종료할 때 작업 영역 기능이 작업 영역을 종료합니다. 내포 작업 영역이 완료된 후 포함하는 작업 영역의 원래 보기가 복원됩니다. 그러나 스레드와 연관된 작업 영역들의 전체 세트의 보기는 다운스트림 프로세스에 의해 분해될 수 없습니다.

특정 특성이 주어진 작업 영역의 범위 안에서 고정(제거 불가능) 또는 읽기 전용(대체 불가능)이도록 보장하기 위해 애플리케이션이 특성 모드를 사용하여 작업 영역에 특성을 설정합니다.

다음 코드 예에서, 서버측 샘플 Bean은 가져온 작업 영역에 직접 쓰려고 시도합니다. UserWorkArea 파티션은 양방향으로 정의되어 있지 않으므로, 이 조치는 허용되지 않으며 NotOriginator 예외가 발생합니다. UserWorkArea 파티션이 양방향으로 정의되지 않으면, 샘플 Bean은 두 번째 코드 예에 표시된 것처럼 모든 가져온 특성을 대체하기 위해 자신의 작업 영역을 시작해야 합니다. 사용자 정의 파티션의 작업 영역이 사용되고 이 작업 영역이 양방향으로 정의된 경우, 이 Bean은 다른 작업 영역을 시작하기 전에 작업 영역에 컨텍스트를 설정할 수 있습니다. 양방향인 경우에 설정되는 컨텍스트는 다시 호출자로 전파됩니다. 추가 정보는 작업 영역 파티션 서비스 문서를 참조하십시오.

public class SimpleSampleBeanImpl implements SessionBean {

   public String [] test() {
     ...
     String invoker = userWorkArea.getName();

     try { 
       userWorkArea.set("key", "value");
     }
     catch (NotOriginator e) {
     }
     ...
  }
}

다음 코드 예는 내포 작업 영역 시작을 보여주며 작성하는 클래스의 이름을 사용하여 내포 작업 영역을 식별합니다.

public class SimpleSampleBeanImpl implements SessionBean {

   public String [] test() {
      ...
      String invoker = userWorkArea.getName();
      try { 
        userWorkArea.set("key", "value");
      }
      catch (NotOriginator e) {
      }

            // Begin a nested work area. By using the name of the creating
      // class as the name of the work area, we can avoid having
      // to explicitly set the name of the creating class in
      // the work area.
      userWorkArea.begin("SimpleSampleBean");

      ...
   }
}

예 애플리케이션에서, 클라이언트는 사이트 ID 특성을 읽기 전용으로 설정합니다. 이것은 요청이 항상 클라이언트의 회사 ID와 연관되도록 보장합니다. 서버는 내포 작업 영역의 해당 값을 대체할 수 없습니다. 다음 코드 예에서 SimpleSampleBean은 작성한 내포 작업 영역의 사이트 ID 특성의 값을 변경하려 시도합니다.

public class SimpleSampleBeanImpl implements SessionBean {

  public String [] test() {
      ...

      String invoker = userWorkArea.getName();
      try { 
        userWorkArea.set("key", "value");
      }
      catch (NotOriginator e) {
      }

            // Begin a nested work area.             userWorkArea.begin("SimpleSampleBean");

      try { 
        userWorkArea.set("company",
                         SimpleSampleCompany.London_Development);
      }
      catch (NotOriginator e) {
      }
      ...
  }
}

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



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