Я что-то упускаю....
У меня есть веб-поток Grails, который выглядит так:
def childFlow = {
start {
action {
def targets = []
Target.list().each {target ->
targets.add(new TargetCommand(name: target.name, id: target.id))
}
log.debug "targets are $targets"
[children: targets]
}
on('success').to('selectChild')
}
...
TargetCommand является сериализуемым. но я получаю эту ошибку: -
Caused by: java.io.NotSerializableException: com.nerderg.groupie.donate.Target
По какой-то причине «целевой» объект, который находится внутри замыкания Target.list().each {}, помещается в область потока, и я не могу понять, как пометить его как переходный.
У меня есть некоторый код в службе, в которой есть объекты, помещенные в область потока, когда я тоже этого не хочу.
Как остановить локальные переходные переменные в замыканиях, помещаемых в область потока?