다음을 통해 공유


COM+ 디스펜서 관리자

디스펜서 관리자는 리소스 디스펜서에 대한 리소스 풀링을 제공하고 리소스 디스펜서에서 제공하는 리소스가 애플리케이션 개체의 트랜잭션에 올바르게 참여하도록 합니다. 디스펜서 관리자는 개체 수명이 끝날 때 여전히 예약된 리소스를 자동으로 회수하여 리소스 "누수" 가능성을 제거합니다. 디스펜서 관리자는 정적 설정을 사용하는 대신 인벤토리 수준을 조정하기 위해 필요한 경우 리소스 디스펜서에 새 리소스를 만들거나 유휴 리소스를 삭제하도록 요청할 수 있습니다.

메모

애플리케이션에 노출된 리소스 디스펜서 인터페이스는 COM 인터페이스일 필요가 없으므로 COM을 초기화하지 않고 프로세스에서 ODBC 리소스 디스펜서를 지원할 수 있습니다.

 

리소스를 만들 때 리소스 디스펜서는 유휴 리소스가 제거되기 전에 풀에 남아 있을 수 있는 기간을 지정할 수 있습니다. 디스펜서 관리자에서 실행되는 스레드는 항상 이러한 유휴 리소스를 찾고 있습니다.

인벤토리 통계 관리자

디스펜서 관리자는 인벤토리 통계 관리자 사용하여 풀 리소스 인벤토리 수준을 관리합니다. 인벤토리 통계 관리자는 각 리소스가 사용된 시점의 레코드를 유지하고 x 초 동안 사용되지 않은 경우 인벤토리에서 리소스를 제거합니다. 여기서 리소스를 만들 때 리소스당 x 값이 설정됩니다.

홀더 구성 요소

디스펜서 관리자는 각 리소스 디스펜서의 리소스 인벤토리를 나열하는 디스펜서 관리자가 만든 구성 요소인 각 소유자폴링하여 리소스 인벤토리를 다시 조정할 수 있도록 10초마다 폴링합니다. 각 보유자는 재고 통계 관리자를 호출하여 각 리소스 유형에 대한 인벤토리 수준을 제안합니다. 따라서 보유자는 리소스 디스펜서에 일부 인벤토리를 만들거나 파기하도록 요청할 수 있습니다.

소유자 및 리소스 디스펜서는 특정 유형의 리소스를 요청하기 위해 통신합니다. 소유자와 리소스 디스펜서 사이에는 다음과 같은 관계가 있습니다.

  • 보유자는 리소스 디스펜서에서 리소스를 요청할 수 있습니다. 리소스 디스펜서는 사용 가능한 리소스를 반환하거나 새 리소스를 만듭니다.
  • 보유자는 애플리케이션에 더 이상 리소스가 필요하지 않음을 리소스 디스펜서에 알릴 수 있으며 리소스 풀에 반환할 수 있습니다.
  • 홀더와 리소스 디스펜서는 함께 작동하여 리소스 풀의 크기를 유지합니다.

COM+ 리소스 디스펜서 개념