0

有没有办法在 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

4

2 回答 2

0

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

于 2016-05-26T15:31:18.893 回答
0

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

不幸的是,如果您删除它,它将恢复为默认值。但是,您可以简单地输入以下内容,这样就可以了:

<TransactionManager id="MyTransactionManager" type="TransactionManager">
...
        defaultTransactionTimeout = 10 days
...
</TransactionManager>
于 2016-05-25T14:43:41.620 回答