В приложении на моем Джерси я бы хотел, чтобы экземпляр ContainerRequestContext
вводился в различные объекты. В случае, если объект, созданный вне контекста запроса, я хотел бы ввести null.Необязательно впрыскивать ContainerRequestContext
Я заметил, что 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.
Было бы массово упростить мой код, если бы Джерси просто вводил нулевое значение, когда он находился за пределами области запроса, любые идеи, как это сделать?