关闭时IPOJO记录警告

时间:2014-08-14 08:09:39

标签: java apache dependency-injection apache-felix ipojo

当应用程序关闭并且某些@Requires服务关闭时,ipojo正在记录异常 “依赖项不是可选的,但是不能在A”

中注入服务对象
public class Main {

   @Requires(id = "A", proxy = false)
   private A aService

   @Bind(id = "A")
   public void bindA(A a) {
       aService = a;
   }

   @Unbind(id = "A")
   public void unbindA() {
       aService = null;
   }
 }

 @Instantiate
 @Component(imediate = true)
 @Provides(specifications = {A.class})
 public class AImpl implements A {

 }

我怀疑(我无法在我的机器上重现问题)它可能与proxy = false和/或在unbind中将其设置为null有关。

1 个答案:

答案 0 :(得分:0)

这是警告告诉您,当时iPOJO无法找到您的要求的任何提供商,尽管依赖性不是可选的。

这在实践中意味着什么:使用您的服务进行的解绑回叫可能需要“无效”。在使用服务之前检查(换句话说!= null)。