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

Dan*_*elo 4 java jta wildfly wildfly-8

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

既可以在standalone.xml管理控制台中也可以通过管理控制台进行更新吗?

小智 6

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

<coordinator-environment default-timeout="1800"/>
Run Code Online (Sandbox Code Playgroud)


Dhe*_*rik 5

如果您在独立模式下使用Wildfly,则可以使用 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"  
    }  
} 
Run Code Online (Sandbox Code Playgroud)

如果您在域模式下使用 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"  
            }  
        }}  
    }}}}  
}
Run Code Online (Sandbox Code Playgroud)

您也可以在管理界面中进行此配置。

您还可以通过带有注释的方法或类指定时间。但不同的应用服务器的注解可以不同, J2EE中没有对此进行规范。例如,在 Wildfly 中,注释是@TransactionTimeout

@TransactionTimeout(1500)  
Run Code Online (Sandbox Code Playgroud)

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