2012-04-23 53 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

相關問題