COM+ 分配器管理器

分配器管理器为资源分配器提供资源池,并确保资源分配器提供的资源在应用程序对象事务中正确登记。 分配器管理器会自动回收对象生存期结束时仍保留的资源,从而消除资源“泄漏”可能。分配器管理器可以要求资源分配器创建新资源或在必要时销毁空闲资源来调整库存级别,而不是使用静态设置。

注意

由于向应用程序公开的资源分配器接口不需要是 COM 接口,因此可以在不初始化 COM 的情况下在进程中使用分配器管理器(例如,支持 ODBC 资源分配器)。

 

创建资源后,资源分配器可以指定在资源销毁之前允许空闲资源在池中保留的时长。 在分配器管理器中运行的线程始终会查找这些空闲资源。

库存统计信息管理器

分配器管理器使用库存统计信息管理器来管理池资源库存级别。 库存统计信息管理器保留每个资源的使用时间记录,并在资源未使用 x 秒时从库存中删除资源,创建资源时将为每个资源设置 x 的值。

持有者组件

分配器管理器轮询每个持有者,这是分配器管理器创建的组件,用于列出每个资源分配器的资源库存,每 10 秒允许重新调整其资源库存。 每个持有者都调用库存统计信息管理器来建议每种资源类型的库存级别。 因此,持有者可能会要求资源分配器创建或销毁一些库存。

持有者和资源分配器进行通信,请求特定类型的资源。 持有者和资源分配器之间存在以下关系:

  • 持有者可以从资源分配器请求资源。 资源分配器返回可用资源或创建新的资源。
  • 持有者可以通知资源分配器应用程序不再需要资源,然后将其返回到资源池。
  • 持有者和资源分配器协同工作,共同维护资源池的大小。

COM+ 资源分配器概念