Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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

Weblogic Console screenshot

Ответ 2

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

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

alt text

Ответ 3

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

enter image description here

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

Ответ 4

Его возможно на уровне приложения. Нажмите на EJB при развертывании (например, "Главная" > "Сводка развертываний" ). Перейдите на вкладку "Конфигурация" и появится "Тайм-аут транзакции:"

Ответ 5

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

Это переопределяет значение "Тайм-аут секунд" по умолчанию, только для этого конкретного EJB, оставив все остальные EJB незатронутыми.

Ответ 6

Ссылка выше довольно устарела. Для 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>