синхронизированный блок на Grails работает на окнах, но нет в Linux

У меня есть приложение Grails, которое опирается на синхронизированный блок в службу. Когда я запускаю его в Windows, синхронизация работает, как и ожидалось, но когда я запускаю в ams linux, получаю StaleObjectStateException.

Проблема воспроизведена в следующем примере.

class TestService {

private final Object $lock = new Object[0];

TesteSync incrementa() {

    synchronized ($lock) {
        TesteSync t = TesteSync.findById(1)
        t.contador++
        t.save(flush: true)

        Thread.sleep(10000)

        return t
    }
}

}

Насколько я понимаю, это исключение происходит, потому что несколько потоков пытаются сохранить один и тот же объект. Вот почему я использую синхронизированный блок.

Linux Java:

Java-версия "1.7.0_85"Среда выполнения OpenJDK (amzn-2.6.1.3.61.amzn1-x86_64 u85-b01)OpenJDK 64-битная серверная виртуальная машина (сборка 24.85-b03, смешанный режим)

Windows Java:

Java-версия "1.7.0_79"Java (TM) SE Runtime Environment (сборка 1.7.0_79-b15)Java HotSpot (TM) 64-разрядная серверная виртуальная машина (сборка 24.79-b02, смешанный режим)

Есть какие-нибудь подсказки?

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос