Não há contextos ativos para o tipo de escopo javax.enterprise.context.RequestScoped ao chamar um bean de um encadeamento
Ao usar o Weld-SE 2.1.2.Final para obter um bean e invocá-lo a partir de um encadeamento, encontro a seguinte exceção:
Exceção no encadeamento "main" org.jboss.weld.context.ContextNotActiveException: WELD-001303: Não há contextos ativos para o tipo de escopo javax.enterprise.context.RequestScoped
Meu bean é anotado com @RequestScooped. Se eu anotar @ApplicationScoped, ele funcionará bem, mas preciso manter o @RequestScooped.
Aqui está um reprodutor:
public static void main(String[] args) throws Exception {
Weld weld = new Weld();
WeldContainer container = weld.initialize();
final MyPojo pojo = container.instance().select(MyPojo.class).get();
Thread t = new Thread() {
public void run() {
System.out.println(pojo.ping()); // This call fails
}
};
t.start();
t.join();
System.out.println(pojo.ping()); // This call succeed
weld.shutdown();
}
@RequestScoped
public class MyPojo {
public String ping() {
return "pong";
}
}
Você encontrou esse comportamento? Alguma idéia para fazer isso funcionar, por favor?