我有一个会话作用域的bean,它是使用代理注入到单例bean中的。
在单例bean中,我需要调用会话作用域bean的某个init-method,它需要单例bean作为参数。此外,我不能更改会话作用域bean的源代码。
要详细说明此案例:
单例bean是一个服务,会话作用域的bean是一个Vaadin4Spring eventbus,为此我需要调用方法eventBus.subscribe(this)。
似乎没有办法检查我是否已经订阅,并且我不能在某个eventBus实例上调用subscribe两次。
有没有办法让Spring在代理第一次链接到eventBus实例时调用eventBus.subscribe(this)?
发布于 2015-10-05 23:02:29
难道不能反过来,将服务注入到eventbus中,并在eventbus中的@PostConstruct注释方法中调用this.subscribe(serviceBean)吗?那么它将只在eventbus构造时被调用一次。
发布于 2015-10-05 23:02:05
您可以将@Lazy添加到单例中。您不需要代理。
https://stackoverflow.com/questions/32951464
复制相似问题