有没有一种方法可以在不删除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
发布于 2016-05-25 22:43:42
7天?我的天啊!你到底在做什么?
不幸的是,如果您删除它,它将恢复为默认值。但是,您可以简单地输入以下内容,这将很好地工作:
<TransactionManager id="MyTransactionManager" type="TransactionManager">
...
defaultTransactionTimeout = 10 days
...
</TransactionManager>发布于 2016-05-26 23:31:19
或者,您可以使用一个bean包装您的代码调用,该bean使用UserTransaction:http://docs.oracle.com/javaee/6/api/javax/transaction/UserTransaction.html#setTransactionTimeout(int)设置特定情况的持续时间
https://stackoverflow.com/questions/37435625
复制相似问题