2016-08-24 65 views
0

我有一个非blueprint包提供服务通过声明服务注释。问题与服务活力和蓝图

我有另一个捆绑包,使用蓝图,其中包含此服务的可选引用,然后将此引用注入许多已声明的bean。

在Karaf容器内启动,该服务已注册并且蓝图包可以访问它并按预期使用。服务提供包的配置可以更新,并且它是未绑定的并且再次反弹到完美的蓝图包。

但是,当服务提供程序包重新启动或更新时,该服务未被绑定,但从未重新绑定到使用程序包,以便蓝图引用保留的代理对象不会解析为服务引用。

有时重新启动蓝图捆绑包可以解决这个问题,但通常需要重新启动整个框架才能使其重新运行。

当非蓝图bean通过声明性服务使用服务时,我不会得到相同的行为。

有没有人使用DS和蓝图混合提供/使用服务有类似的问题?

回答

0

蓝图不是动态的。它有一个“阻尼”代理,它试图通过服务动态壁纸进行壁纸,但并不总是提供所需的。总的来说,我总是会使用DS over Blueprint。