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

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

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

Ответы [ 6 ]

39 голосов
/ 20 августа 2009

После входа на домашней странице консоли сервера вы увидите 3 раздела:

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

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

Weblogic Console screenshot

29 голосов
/ 06 декабря 2010

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

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

alt text

3 голосов
/ 19 мая 2014

В Weblogic 9.2 конфигурация через консоль следующая:

enter image description here

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

0 голосов
/ 10 марта 2016

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

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

<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>

0 голосов
/ 23 июня 2015

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

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

0 голосов
/ 14 июля 2011

Это возможно на уровне приложения.Нажмите на EJB под развертыванием (как Главная> Сводка развертываний>).Нажмите на вкладку «Конфигурация», и появится «Время ожидания транзакции»:

...