Session Grails会话作用域服务-不工作

Session Grails会话作用域服务-不工作,session,grails,Session,Grails,我在我的一个Grails服务(Grails 2.2.2)中添加了static scope=“session”,但出于某种原因,它的行为就像一个单例 您不能将会话服务注入到单例(默认)服务中吗 换句话说,这有什么理由不起作用吗 class DefaultService { def sessionService } class SessionService { static scope = 'session' def instanceVar = ... } 我将如何解决此问题 我希

我在我的一个Grails服务(Grails 2.2.2)中添加了
static scope=“session”
,但出于某种原因,它的行为就像一个单例

您不能将会话服务注入到单例(默认)服务中吗

换句话说,这有什么理由不起作用吗

class DefaultService {
  def sessionService
}

class SessionService {
  static scope = 'session'

  def instanceVar = ...
}
我将如何解决此问题

我希望能帮助你

简言之,您不能在单例中使用会话作用域服务,就像普通服务或标记库一样。手动使用服务代理,或。

希望能对您有所帮助


简言之,您不能在单例中使用会话作用域服务,就像普通服务或标记库一样。手动使用服务代理,或者。

是的,我最后就是这么做的。如果您将会话服务注入到单例中,Grails/Spring会很乐意让您这样做,但不会给您想要的。它将继承较长的作用域,因为作用域仅在创建单例时应用。这让我很惊讶,因为JSF托管bean中的类似错误是一个错误,在CDI中,它会自动生成代理。如果您将会话服务注入到单例中,Grails/Spring会很乐意让您这样做,但不会给您想要的。它将继承较长的作用域,因为作用域仅在创建单例时应用。这让我很惊讶,因为JSF托管bean中的类似错误可能是一个错误,而在CDI中,它会自动生成代理。