Тайм-аут транзакции Weblogic: как установить в консоли администратора в WebLogic AS 8.1

Я столкнулся со следующим исключением:
weblogic.transaction.internal.TimedOutException: время ожидания транзакции истекло через 300 секунд.

это установлено в компоненте EJB сеанса без сохранения состояния как javax.transaction.UserTransaction jtaTransaction.setTransactionTimeout(300), но я не могу понять, где в консоли приложения установить это свойство.


person yli    schedule 20.08.2009    source источник
comment
Если вы не можете установить время ожидания с помощью консоли, см. этот ответ.   -  person bsiamionau    schedule 11.07.2013


Ответы (6)


После авторизации на главной странице Консоли сервера вы должны увидеть 3 раздела:

  • Информация и ресурсы
  • Конфигурации домена
  • Конфигурации служб

В разделе Конфигурации служб есть подраздел Другие службы. Щелкните ссылку Конфигурация JTA в разделе Другие службы. Тайм-аут транзакции должен быть верхней настройкой на отображаемой странице с пометкой Тайм-аут в секундах.

Снимок экрана Weblogic Console

person mikej    schedule 20.08.2009

Была такая же проблема, спасибо mikej.

В WLS 10.3 эту конфигурацию можно найти в меню Сервисы > JTA или, если щелкнуть имя домена (первый пункт меню) - на вкладках Конфигурация > JTA. .

альтернативный текст

person Kirill Strizhak    schedule 06.12.2010

В Weblogic 9.2 настройка через консоль выглядит следующим образом:

введите здесь описание изображения

Я считаю, что значение по умолчанию было 60. Не забудьте использовать кнопку Release Configuration после редактирования поля.

person Rafał    schedule 19.05.2014

Если вы не хотите изменять время ожидания по умолчанию для всего домена, лучше всего изменить дескриптор развертывания, установив атрибут trans-timeout-seconds в файле weblogic-ejb-jar.xml — см. http://docs.oracle.com/cd/E11035_01/wls100/jta/trxejb.html

Это переопределяет значение по умолчанию «Время ожидания в секундах» только для этого конкретного EJB, не затрагивая при этом все остальные EJB.

person Pierluigi Vernetto    schedule 23.06.2015

Это возможно на уровне приложения. Щелкните EJB под развертыванием (например, Home > > Summary of Deployments >). Перейдите на вкладку «Конфигурация», и там появится «Тайм-аут транзакции:».

person Shashi    schedule 14.07.2011
comment
Там такого нет... это тайм-аут сеанса - person Cris; 05.02.2015
comment
Такой опции нет в WebLogic Server 10.3.6.0. - person Sandoval0992; 20.07.2018

Ссылка выше довольно устарела. Для WebLogic 12c вы можете определить время ожидания транзакции в дескрипторе транзакции для каждого EJB в дескрипторе развертывания WebLogic weblogic-ejb-jar.xml, см. weblogic-ejb-jar.xml Справочник по дескриптору развертывания.

Для управляемого сообщения be это выглядит так:

<weblogic-enterprise-bean>
    <ejb-name>TestMessageBeanLow</ejb-name>
    <message-driven-descriptor>
        <pool>
            <max-beans-in-free-pool>1</max-beans-in-free-pool>
        </pool>
        <destination-jndi-name>jms/ActiveMQ/TestRequestQueue_LOW</destination-jndi-name>
        <connection-factory-jndi-name>jms/ActiveMQ/TestConnectionFactory</connection-factory-jndi-name>
    </message-driven-descriptor>
    <transaction-descriptor>
        <trans-timeout-seconds>60</trans-timeout-seconds>
    </transaction-descriptor>
    <resource-description>
        <res-ref-name>jms/ConnectionFactory</res-ref-name>
        <jndi-name>jms/ActiveMQ/TestConnectionFactory</jndi-name>
    </resource-description>
</weblogic-enterprise-bean>

person thmayr    schedule 10.03.2016