从单例bean调用会话范围的bean的init-method

时间:2015-10-05 14:46:54

标签: java spring scope

我有一个会话范围的bean,它使用代理注入到一个单独的bean中 从单例bean我需要调用session scoped bean的某个init方法,它需要singleton bean作为参数。 此外,我无法更改会话范围bean的来源。

详细说明案例:
单例bean是一个服务,会话作用域bean是一个Vaadin4Spring事件总线,我需要调用方法$taxes = array_sum($woocommerce->cart->taxes);

似乎没有办法检查,如果我已经订阅了,我不能在某个eventBus.subscribe(this)实例上调用两次订阅。

当代理首次链接到eventBus实例时,有没有办法告诉Spring调用eventBus.subscribe(this)

2 个答案:

答案 0 :(得分:0)

难道你不能反过来,将服务注入事件总线,并在事件总线中用this.subscribe(serviceBean)注释方法调用@PostConstruct?然后,只有在构造eventbus时才会调用它。

答案 1 :(得分:-1)

您可以将@Lazy添加到Singleton。您不需要代理。