TomEE disable TransactionManager defaultTransactionTimeout?



有没有办法禁用超时,而无需摆脱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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新