【发布时间】:2014-11-19 12:55:55
【问题描述】:
我在重新配置期间遇到了与ipojo 组件之间的数据传输相关的问题。
这是一个例子:
- 组件
Calcul_1提供计算服务以返回值(a+b)(例如:f(a,b)=> (a+b)) - 组件
Calcul_2提供计算服务以返回值(a*b)(例如:f(a,b)=> (a*b))
这两个组件实现了相同的计算服务(例如:f)。
- 现在,我有一个组件
CallCalcul使用Calcul_1的计算服务。组件CallCalcul调用组件Calcul_1中的f(5,6)。然后,CallCalcul component收到 11 的值。
问题:
当
Calcul_1从CallCalcul接收到值(5,6)(尚未计算)时,CallCalcul通过将连接器更改为Calcul_2重新配置,即它绑定到Calcul_2。在这种情况下,如何将(5,6)从Calcul_1传输到Calcul_2并将(5*6=30)返回到CallCalcul?当
Calcul_1接收到来自CallCalcul的值(5,6)(并计算它们,即5+6=11)时,CallCalcul重新配置。在这种情况下,如何将11传输到Calcul_2并将这个值返回给CallCalcul?
【问题讨论】:
-
您是否真的遇到过服务提供者在方法中间发生变化的问题,或者这只是您认为可能发生的场景?另外,您是否使用
Requires注释(或等效的 xml)注入您的服务依赖项? -
这是一个我确信它会发生的场景。我用 Requires 注入我的服务依赖项。注意:Calcul_1 和Calcul_2 两个组件实现相同的服务。我使用过滤器将 CallCalcul 的绑定更改为服务