2016-05-25 7 views
0

Есть ли способ отключить таймаут, чтобы избавиться от менеджера транзакций в TomEE?TomEE отключить TransactionManager defaultTransactionTimeout?

Мой образец менеджер транзакций из 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

ответ

0

7 дней? Святые курят! Что ты делаешь на Земле? : D

К сожалению, если вы его удалите, он вернется к умолчанию. Тем не менее, вы можете просто положить после чего будет работать нормально:

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

Я мог бы сделать это, но это просто увеличит тайм-аут. Я хочу избавиться от него. –

+0

Тайм-ауты, по существу, предназначены для транзакций, они довольно глубоко испечены в спецификации Java EE и в Apache TomEE. Ваш прецедент определенно и крайний ... Я бы установил его на очень высокий порог (10 дней, 20 дней, 50 дней, 36612 дней) –

0

В качестве альтернативы вы можете обернуть ваш код вызова с боб установки длительности для данного конкретного случая использования UserTransaction: http://docs.oracle.com/javaee/6/api/javax/transaction/UserTransaction.html#setTransactionTimeout(int)

+0

Это потребует изменения кода, я пытался перенести приложение из WebLogic к TomEE с минимальными изменениями кода. –

 Смежные вопросы

  • Нет связанных вопросов^_^