Главная » Java, JavaBeans » Сервисы менеджера транзакции EJB

0

Существуют два сервиса (две службы) управления транзакциями, которые входят в комплект поставки Inprise EJB Container – реализация фирмой Inprise Java Transaction Service (JTS) и Inprise Integrated Transaction Service (ITS).

JTS является службой, которая входит в состав Контейнера и используется для управления транзакцией по умолчанию. JTS предоставляет большие возможности, но содержит и существенные ограничения – она не поддерживает тайм-ауты транзакции. Транзакция может никогда не завершится вследствие некоторых причин. В отсутствие тайм-аута, некорректная транзакция может "зависнуть". Если с такой транзакцией сопоставлен session-Компонент, то Контейнер никогда не сможет удалить его, так как Контейнер не может удалять session-Компоненты, связанные с транзакцией. Очевидно, что это существенно ограничивает возможности Контейнера по эффективному управлению ресурсами.

Сервис управления транзакциями Inprise ITS поддерживает тайм-ауты транзакции. Фактически он позволяет вам определить период тайм-аута по умолчанию и его максимальную величину. (Более подробная информация содержится в документации по ITS.)

При использовании ITS в качестве сервиса транзакции Контейнер может выполнить деактивизацию session-Компонента, даже если он сопоставлен с некорректной транзакцией, которая "зависла" и никогда не будет завершена. Контейнер выполнит деактивизацию по завершении периода тайм-аута, который рано или поздно наступит. Затем, если к этому Компоненту не будет других обращений клиентов в течение времени продолжительности его собственного тайм-аута, Контейнер удалит этот Компонент. Это предотвращает ситуацию, когда Компонент начинает транзакцию и блокирует память или другие ресурсы вследствие ее "зависания". При использовании ITS Контейнер может удалить session-Компонент вне зависимости от того, сопоставлен он с транзакцией или нет, при условии, что и транзакция, и Компонент превысят соответствующие периоды тайм-аута.

Источник: Руководство программиста Enterprise JavaBeans

По теме:

  • Комментарии