我有一个域对象,它跟踪使用注入的 Spring 安全服务创建、删除和修改它的用户,def springSecurityService
.这些对象的实例保存在会话中,在生产环境中,会话将保存到数据库以进行会话故障转移。Jetty
会话存储类序列化会话中的对象,但如果会话包含不可序列化的对象而springSecurityService
则不会引发异常。有没有办法将springSecurityService
实例标记为已忽略,transient
可能是,但仍可以访问service
?我试过了。
static transients = ['springSecurityService']
没有帮助。
尝试使用,
transient SpringSecurityService springSecurityService
static transients = ['springSecurityService']
第一条语句告诉Java不要序列化;而第二条语句告诉Grails不要持久化。
注意:顺便说一句,不鼓励在域类中注入服务。