В моем веб-приложении на Java с RESTful WebService я использовал Wildfly 8.2 со сваркой 2.2.6. Я внедряю объект HttpServletRequest в поток и считываю из него параметры. После обновления до Wildfly 12.0 со сваркой 3.0.3 использование экземпляра HttpServletRequest в потоке выдает следующую ошибку:
org.jboss.weld.contexts.ContextNotActiveException: WELD-001303: нет активных контекстов для типа области действия javax.enterprise.context.RequestScoped
Есть ли способ исправить эту проблему?
Я попытался обновить патч для сварки 3.0.4 для Wildfly 12, попробовал использовать AsyncContext. пробовал вводить как @context. Этот код отлично работает в Wildfly 12, он даже не работает в Wildfly 16.
@Path("test")
public class TestWildfly12 {
@Inject
private HttpServletRequest request1;
@GET
public Response testRequest() {
request1.setAttribute("test", "test");
ExecutorService executorService = Executors.newFixedThreadPool(1);
executorService.execute(() -> {
Object value = request1.getAttribute("test");
System.out.println(value);
});
final Response response = Response.build().entity(true);
response.setStatus(Status.OK.getStatusCode());
return response;
}
}
Я хочу, чтобы код получал данные из параметра запроса в потоке.