У меня есть задание Grails, которое выполняет некоторую обработку моих данных. Это включает в себя обновление поля заголовка после некоторых манипуляций со строками.
Я пытаюсь, чтобы отметка lastUpdated не затрагивалась описанным выше процессом, поскольку пользователи часто сортируют по lastUpdated.
Есть ли способ временно отключить autoTimestamp? Я использую Грааль 2.4.5.
Я пробовал это предложение, но оно не сработало, а также сильно замедляет обработку (4 секунды превратились в 30 секунд).
def toggleAutoTimestamp(target, enabled) {
def applicationContext = (ServletContextHolder.getServletContext()
.getAttribute(ApplicationAttributes.APPLICATION_CONTEXT))
def closureInterceptor = applicationContext.getBean("eventTriggeringInterceptor")
def datastore = closureInterceptor.datastores.values().iterator().next()
def interceptor = datastore.getEventTriggeringInterceptor()
def listener = interceptor.findEventListener(target)
listener.shouldTimestamp = enabled
null
}
** Обновление ** Также я не ищу решение, связанное с созданием нового поля, которое обновляется только в определенных сценариях (атм).