增加 WildFly 中的 JTA 事务超时限制

Posted

技术标签:

【中文标题】增加 WildFly 中的 JTA 事务超时限制【英文标题】:Increase JTA transaction timeout limit in WildFly 【发布时间】:2017-12-17 21:53:06 【问题描述】:

如何在 WildFly 中增加 JTA 事务超时?

可以在standalone.xml 以及管理控制台中更新,对吗?

【问题讨论】:

【参考方案1】:

如果你使用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)  

所有情况下使用的时间单位始终以为单位。

【讨论】:

【参考方案2】:

事务超时也可以直接在standalone.xml 中更改(不使用JBoss 客户端)。只需将其添加到事务子系统:

<coordinator-environment default-timeout="1800"/>

【讨论】:

欲了解更多信息,请参阅documentation。

以上是关于增加 WildFly 中的 JTA 事务超时限制的主要内容,如果未能解决你的问题,请参考以下文章

如何增加 Quarkus 中的事务超时?

JTA和JTS

WebLogic 非活动连接超时和 JTA 超时

atomikos的Jta配置

CDI 事务管理

REST微服务的分布式事务实现-分布式系统事务以及JTA介绍