TomEE禁用TransactionManager defaultTransactionTimeout?

时间:2016-05-25 11:22:52

标签: tomee transactionmanager

有没有办法在TomEE中删除事务管理器时禁用超时?

来自tomee.xml的示例事务管理器是:

<TransactionManager id="MyTransactionManager" type="TransactionManager">
    adler32Checksum = true
    bufferSizeKb = 32
    checksumEnabled = true
    <!--defaultTransactionTimeout = 10 minutes-->
    defaultTransactionTimeout = 10000 minutes
    flushSleepTime = 50 Milliseconds
    logFileDir = txlog
    logFileExt = log
    logFileName = howl
    maxBlocksPerFile = -1
    maxBuffers = 0
    maxLogFiles = 2
    minBuffers = 4
    threadsWaitingForceThreshold = -1
    txRecovery = false
</TransactionManager>

但有时交易时间可能超过10000分钟(约7天)。

TomEE 1.7.4版

2 个答案:

答案 0 :(得分:0)

7天?圣烟!你到底在做什么? :d

不幸的是,如果您将其删除,它将恢复为默认值。但是,您可以简单地将以下内容正常工作:

<TransactionManager id="MyTransactionManager" type="TransactionManager">
...
        defaultTransactionTimeout = 10 days
...
</TransactionManager>

答案 1 :(得分:0)

或者,您可以使用UserTransaction用bean设置代码调用来设置该特定情况的持续时间:http://docs.oracle.com/javaee/6/api/javax/transaction/UserTransaction.html#setTransactionTimeout(int)