【发布时间】:2017-10-08 13:24:50
【问题描述】:
我已经启动了一个线程,但是当它尝试访问实体管理器时,它会抛出异常 javax.enterprise.context.ContextNotActiveException: 当前线程中不存在具有范围类型注释 @RequestScoped 的 WebBeans 上下文
我应该如何使用线程访问 EntityManger 有什么解决办法吗?
public class SchedulerForData {
@Inject
private DefaultUserSevice userSevice;
public void beepForAnHour() {
long initialDelay;
final Runnable beeper = new Runnable() {
public void run() {
userSevice.getData();
}
scheduler.scheduleAtFixedRate(beeper, 60, 30, TimeUnit.SECONDS);
}
}
}
public class DefaultUserSevice {
@Inject
EntityManager entityManger;
public void getData(){
List resultList = entityManager.createNativeQuery("Select * from USER").getResultList();
}
}
【问题讨论】:
-
DefaultUserService 类上有注解吗?
-
没有注释先生
标签: java jpa threadpool entitymanager