2012-04-23 52 views
0

在我iPOJO应用程序,我尝试将服务绑定到两位消费者:是否可以使用iPOJO将服务绑定到多个消费者?

消费者:

@Component(immediate = true) 
@Instantiate(name = "com.example.consumerX") 
@Provides 
public class consumerX{ 
    @Requires(id="ms",optional=true) 
    private MyService[] services; 

    @Bind(id = "ms", aggregate = true, optional = true) 
    public synchronized void register(MyService service) { 
      System.out.println("service bind to consumer"); 
    } 

    @Unbind(id = "ms") 
    public synchronized void unregister(MyService service) { 
      System.out.println("service unbind from consumer"); 
    } 
} 

服务:

@Component(immediate = true) 
@Instantiate(name = "com.example.serviceX") 
@Provides(specifications = { MyService.class, MyServiceX.class}) 
public class MyServiceX{ 
    ... 
} 

如果我开始consumerA,consumerB和serviceA,该服务绑定仅限于消费者A.如果我启动consumerB和serviceA,则该服务绑定到consumerB。

是否有可能让服务绑定到两个消费者?有没有对它的注释?

谢谢。

回答

0

服务肯定有可能被多个消费者使用。你的代码看起来不错,所以它应该工作。

您是否尝试使用'instances'命令(http://felix.apache.org/site/ipojo-arch-command.html)检查当前状态?

+0

谢谢你的回答。所有实例都是有效的,错误必须在其他地方。我试图找到它。 – user1350914 2012-04-24 07:07:06

相关问题