0

当应用程序关闭并且某些@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 有关。

4

1 回答 1

0

这是一个警告,告诉您当时 iPOJO 找不到任何满足您要求的提供程序,尽管依赖项不是可选的。

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

于 2014-08-15T15:21:04.813 回答