3

我有一个域对象,它跟踪使用注入的 Spring Security 服务创建、删除和修改它的用户,def springSecurityService. 这些对象的实例保存在会话中,并且在生产中,会话被持久化到数据库以进行会话故障转移。会话存储类序列化会话中的Jetty对象,但如果会话包含不可序列化的对象,则抛出异常springSecurityService。有没有办法将springSecurityService实例标记为已忽略, transient可能是,但仍然可以访问service?我试过了。

static transients = ['springSecurityService']

没有帮助。

4

1 回答 1

4

尝试使用,

transient SpringSecurityService springSecurityService
static transients = ['springSecurityService']

第一条语句告诉 Java,不要序列化;而第二个告诉 Grails 不要坚持。

注意:顺便说一句,不鼓励在域类中注入服务。

于 2017-10-03T03:29:46.373 回答