Default scope for Grails controller is prototype
i.e. a new controller will be created for each request (recommended for actions as Closure properties)
Two more scopes are supported by controllers:
session
- One controller is created for the scope of a user session
singleton
- Only one instance of the controller ever exists (recommended for actions as methods)
When should I use which scope? When can I make a decision of changing the scope? In what scenario?