Partilhar via


Conceitos de agregação de objetos COM+

O pool de objetos é um serviço automático fornecido pelo COM+ que permite configurar um componente para que instâncias de si mesmo sejam mantidas ativas em um pool, prontas para serem usadas por qualquer cliente que solicite o componente. Você pode configurar e monitorar administrativamente o pool mantido para um determinado componente, especificando características como tamanho do pool e valores de tempo limite de solicitação de criação. Quando o aplicativo está em execução, COM+ gerencia o pool para você, manipulando os detalhes de ativação e reutilização de objetos de acordo com os critérios especificados.

Você pode obter benefícios muito significativos de desempenho e dimensionamento reutilizando objetos dessa maneira, especialmente quando eles são projetados para maximizar a reutilização. Com o pool de objetos, você obtém os seguintes benefícios:

  • Pode acelerar o tempo de uso do objeto para cada cliente, ao isolar a inicialização demorada e a aquisição de recursos do trabalho efetivo que o objeto realiza para os clientes.
  • Você pode compartilhar o custo de aquisição de recursos caros entre todos os clientes.
  • Você pode pré-alocar objetos quando o aplicativo é iniciado, antes que qualquer solicitação de cliente entre.
  • Você pode controlar o uso de recursos com o gerenciamento de pool administrativo, por exemplo, definindo um nível máximo de pool apropriado, você pode manter abertas apenas quantas conexões de banco de dados tiver uma licença.
  • Você pode configurar administrativamente o pool para aproveitar melhor os recursos de hardware disponíveis, você pode facilmente ajustar a configuração do pool à medida que os recursos de hardware disponíveis mudam.
  • Pode acelerar o tempo de reativação de objetos que usam ativação just-in-time (JIT) , enquanto controla deliberadamente como os recursos são dedicados aos clientes.

Escrevendo objetos agrupáveis

Os objetos agrupáveis devem atender a determinados requisitos para permitir que uma única instância de objeto seja usada por vários clientes. Por exemplo, eles não podem manter o estado do cliente ou ter nenhuma afinidade com tópicos. Os objetos transacionais também têm requisitos específicos, na medida em que os recursos gerenciados mantidos por um objeto em pool devem ser incluídos manualmente em uma transação.

Os objetos agrupados podem implementar IObjectControl para controlar como eles são reutilizados. Isso permite que eles executem a inicialização quando ativados em um determinado contexto, limpem qualquer estado do cliente na desativação e indiquem quando estão em um estado não reutilizável.

Muitas vezes, é útil escrever objetos agrupáveis de uma forma um pouco genérica para que eles possam ser personalizados administrativamente com uma cadeia de caracteres do construtor. Por exemplo, um objeto pode ser escrito para manter uma conexão ODBC genérica, com um DSN específico especificado administrativamente em uma cadeia de caracteres do construtor.

Os tópicos desta seção, descritos na tabela a seguir, fornecem informações sobre como o pool de objetos funciona no COM+, bem como informações sobre como escrever, configurar e implementar objetos agrupáveis.

Tópico Descrição
Como funciona o pool de objetos
Apresenta conceitos básicos.
Melhorando o desempenho com o pool de objetos
Fornece detalhes específicos sobre como você pode usar o pool de objetos de forma mais eficaz.
Requisitos para objetos agrupáveis
Fornece detalhes sobre como escrever um objeto que deve ser agrupado.
agrupar objetos transacionais
Fornece detalhes sobre os requisitos especiais que se aplicam a objetos transacionais agrupáveis.
Controlando o ciclo de vida do objeto e o estado
Descreve como objetos agrupados podem ser implementados para controlar como eles são reutilizados.

Tarefas de pool de objetos COM+