Тайм-аут транзакции Bean в WebSphere с использованием таймера EJB

С JBoss / Wildfly можно использовать @TransactionTimeout проприетарная аннотация и определение тайм-аута транзакции для определенного компонента сеанса.

Что такое эквивалентный способ сделать это с помощью IBM WebSphere?

мы используем таймер EJB, и один из бобов будет более часа для завершения.

пример кода для Wildfly:

import org.jboss.ejb3.annotation.TransactionTimeout;

@Stateless
@TransactionTimeout(value=7200)
public class TimerBean {

}

Примечание: Использование WebSphere 8.5. Изменение глобального времени транзакции не является вариантом, мы нужно сделать это для конкретного сеанса или, возможно, приложения (уха).

1 ответов


Да, это возможно. Вы можете установить его через transaction-time-out в пользовательских расширений .

В этом файле определить:

<session name="TimerBean">
        <global-transaction transaction-time-out="7200"/>
</session>

Тайм-Аут Транзакции Компонента
Для корпоративных компонентов, использующих только транзакции, управляемые контейнером, указывает время ожидания транзакции в секундах для любого нового глобального компонента транзакция, которую контейнер запускает от имени предприятия фасоль. Для сделок от имени компонента Параметр тайм-аут транзакции компонента переопределяет общее значение по умолчанию тайм-аут времени жизни транзакции, настроенный в транзакции параметры службы для сервера приложений.

подробности настройка атрибутов транзакционного развертывания