当应用程序关闭并且某些@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有关。
答案 0 :(得分:0)
这是警告告诉您,当时iPOJO无法找到您的要求的任何提供商,尽管依赖性不是可选的。
这在实践中意味着什么:使用您的服务进行的解绑回叫可能需要“无效”。在使用服务之前检查(换句话说!= null)。