【发布时间】:2014-12-18 16:18:23
【问题描述】:
在我的 Jersey 应用程序中,我希望将一个 ContainerRequestContext 实例注入到各种对象中。如果在请求上下文之外创建对象,我希望注入 null。
我注意到 HK2 有一个 @Optional 注释,你可以用它来注释依赖关系,我希望它能完成这项工作,不幸的是它根本不会改变行为。
public class MyObject {
private final ContainerRequestContext containerRequestContext;
@Inject
public MyObject(@Optional ContainerRequestContext containerRequestContext) {
this.containerRequestContext = containerRequestContext;
}
}
如果此对象在请求范围之外实例化(在我的例子中,是由 Quartz 调度程序运行的作业),则会引发类似这样的异常:
java.lang.IllegalStateException: Not inside a request scope.
如果 Jersey 只在请求范围之外注入 null,这将大大简化我的代码,有什么想法可以做到这一点吗?
【问题讨论】:
标签: java dependency-injection jersey hk2