【发布时间】:2017-09-08 17:41:17
【问题描述】:
当我尝试运行线程时出现此错误:
WELD-001303: No active contexts for scope type javax.enterprise.context.RequestScoped
所以我有这个错误:
2017-09-08 14:09:56,205 ERROR [br.com.ideallsistemas.obrigacoes.util.jsf.JsfExceptionHandler] Erro: #{emailCadastroBean.enviarEmail()}: java.lang.NoClassDefFoundError: org/jboss/weld/environment/se/Weldjavax.faces.FacesException: #{emailCadastroBean.enviarEmail()}: java.lang.NoClassDefFoundError: org/jboss/weld/environment/se/Weld
我从 bean 调用的方法
public void enviarEmail(Email email) {
List<String> destinatarios = destinatariosOf(email);
Weld weld = new Weld();
final WeldContainer container = weld.initialize();
RequestContext requestContext= container.instance().select(RequestContext.class, UnboundLiteral.INSTANCE).get();
requestContext.activate();
final EnvioEmailService pojo = container.instance().select(EnvioEmailService.class).get();
Thread envioiEmail = new Thread() {
public void run() {
try {
for (String destinatario : destinatarios) {
pojo.envioEmailTaskDo(email, destinatario);
}
}catch (Exception e) {
System.out.println(e.getMessage());
}
}
};
envioiEmail.start();
weld.shutdown();
}
【问题讨论】:
标签: multithreading jsf jsf-2 jsf-2.2 weld