【发布时间】:2017-12-17 21:53:06
【问题描述】:
如何在 WildFly 中增加 JTA 事务超时?
可以在standalone.xml 以及管理控制台中更新,对吗?
【问题讨论】:
标签: java wildfly wildfly-8 jta
如何在 WildFly 中增加 JTA 事务超时?
可以在standalone.xml 以及管理控制台中更新,对吗?
【问题讨论】:
标签: java wildfly wildfly-8 jta
如果你使用Wildfly in standalone,你可以使用Jboss Client来做这个配置:
[standalone@localhost:9990 /] /subsystem=transactions:write-attribute(name=default-timeout,value=500)
{
"outcome" => "success",
"response-headers" => {
"operation-requires-reload" => true,
"process-state" => "reload-required"
}
}
如果您在域模式下使用 Wildfly:
[domain@localhost:9990 /] /profile=full/subsystem=transactions:write-attribute(name=default-timeout,value=500)
{
"outcome" => "success",
"result" => undefined,
"server-groups" => {"main-server-group" => {"host" => {"master" => {
"server-one" => {"response" => {
"outcome" => "success",
"response-headers" => {
"operation-requires-reload" => true,
"process-state" => "reload-required"
}
}},
"server-two" => {"response" => {
"outcome" => "success",
"response-headers" => {
"operation-requires-reload" => true,
"process-state" => "reload-required"
}
}}
}}}}
}
您也可以在管理界面中进行此配置。
你也可以通过注解的方法或类来指定时间。但是应用服务器之间的注释可能不同,在 J2EE 中没有关于此的规范。比如in Wildfly注解就是@TransactionTimeout:
@TransactionTimeout(1500)
所有情况下使用的时间单位始终以秒为单位。
【讨论】:
事务超时也可以直接在standalone.xml 中更改(不使用JBoss 客户端)。只需将其添加到事务子系统:
<coordinator-environment default-timeout="1800"/>
【讨论】: