Тайм-аут транзакции Weblogic: как установить консоль администратора в WebLogic AS 8.1
Я сталкиваюсь со следующим исключением:
weblogic.transaction.internal.TimedOutException: транзакция, истекающая через 300 секунд
это устанавливается в сеансе без учета состояния EJB Bean как
javax.transaction.UserTransaction jtaTransaction.setTransactionTimeout(300)
но я не могу понять, где в консоли приложения установить это свойство.
Ответы
Ответ 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>