何かが足りない…。
次のようなGrailsWebフローがあります:-
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 {}クロージャー内にある「ターゲット」オブジェクトがフロースコープに入れられており、一時的なものとしてマークする方法がわかりません。
フロースコープにオブジェクトを配置したくないときに、オブジェクトを配置するコードがサービスにあります。
フロースコープに配置されているクロージャのローカル一時変数を停止するにはどうすればよいですか?