我错过了一些东西......
我有一个看起来像这样的 Grails webflow:-
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 {} 闭包内的“目标”对象被放入流范围内,我不知道如何将其标记为瞬态。
当我不希望它们也放置在流范围中时,我在服务中有一些代码。
如何停止将闭包中的局部瞬态变量放入流范围?