
- •Выбор типа объекта зависит от конкретной задачи и назначения объекта. Подобно любому объекту
- •Сохранение состояния объекта требует, чтобы тот оставался активным и сохранял такие ценные ресурсы
- •Если объект не может сохранять свое промежуточное состояние, то он относится к типу
- •Транзакции
- ••Клиенты могут использовать прямой контроль над транзакциями с помощью контекста объекта, используя интерфейс
- •Атрибуты транзакций можно устанавливать тремя способами:
- •Завершение транзакции по умолчанию происходит через время, указанное в параметре transaction timeout, который
- •Два метода интерфейса определяют способ выхода объекта из транзакции.
- •Методы EnableCommit и DisableCommit сообщают о текущем состоянии объекта. Метод EnableCommit сообщает, что
- •Вызов метода DisableCommit показывает, что в настоящий момент текущее состояние объекта не позволяет
- •Безопасность данных
- •Декларативная защита данных
- •Программная защита данных
- •Ресурсы
- •Активизация Just-in-time
- •2.Транзакция сохраняется либо прерывается. Затем объект также деактивизируется. Среди этих объектов могут продолжить
- •Пулинг ресурсов
- •Освобождение ресурсов
- •Пулинг объектов
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 |