Скачиваний:
19
Добавлен:
01.05.2014
Размер:
233.47 Кб
Скачать

2.Транзакция сохраняется либо прерывается. Затем объект также деактивизируется. Среди этих объектов могут продолжить свое существование только те, что имеют ссылку на клиентов за пределами данной транзакции. Последующий вызов этих объектов повторно активирует их и служит причиной для выполнения в следующей транзакции.

3.Последний клиент освобождает объект. При этом объект деактивизируется и контекст объекта тоже освобождается.

COM+

33

Пулинг ресурсов

После освобождения ресурсов при деактивизации объекта COM+ они становятся доступными для других

серверных объектов. Этот процесс называется

пулингом ресурсов.

Известно, что выделение ресурсов, открытие и закрытие соединения с базой данных занимает довольно много времени. Частое повторение этой операции различными объектами COM+ применительно к одной базе данных вызовет повышенный расход ресурсов.

Именно в таких случаях и используется пулинг ресурсов. Соединение с базой данных, больше не используемое одним серверным объектом, может быть использовано другим объектом.

Для выполнения задач пулинга ресурсов COM+ использует распределитель ресурсов.

COM+

34

Освобождение ресурсов

Обычно освобождение ресурсов объекта делается при помощи вызова методов SetComplete и SetAbort после обслуживания запроса клиента. Эти методы освобождают ресурсы, зарезервированные распределителем ресурсов COM+.

Вто же самое время необходимо освобождать ссылки на другие ресурсы, включая ссылки на другие объекты (и объекты COM+ и контексты объектов) и память, занятую экземплярами компонентов. Этого не следует делать лишь в случае, если надо сохранить информацию о состоянии между вызовами клиентов.

COM+

35

Пулинг объектов

COM+ реализует не только пулинг ресурсов, но и пулинг объектов. Правда, эта возможность доступна только в рамках технологии COM+, работающей под управлением операционных систем Windows 2000 и Windows 2003. В COM+ более старых версий пулинг объектов лишь декларирован для будущего использования

COM+

36

Рис. 2. Схема пулинга объектов COM+

COM+

37

При выполнении приложений в среде COM+ создается специальный пул объектов.

Для управления пулом и размещения в нем объектов используется интерфейс IobjectControl. Если объект предназначен для использования в пулинге, то метод CanBePooled-интерфейса должен возвращать значение True. После деактивизации такого объекта сервер COM+ помещает его в пул. Объекты внутри пула доступны для немедленного использования любыми другими запросами клиентов. В случае если объект запрошен, но пул объектов пуст, MTS автоматически создает новый экземпляр объекта.

COM+

38

Соседние файлы в предмете Проектирование распределенных информационных систем