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