我有异步的Web服务方法,我想发送responce 202(接受),并做与数据库相同的更改。我如何使用JPA实现它? 这里我服务的方法:异步的Web服务JPA
@Transactional
public void createTask(@Suspended AsyncResponse response){
new Thread(){
public void run(){
RequestTask requestTask = new RequestTask();
requestTask.setAim("all tables");
requestTask.setDescription("Update Tables");
requestTask.setOwner("John Calagan");
requestTaskDao.createRequestTask(requestTask);
}
}.start();
Response acceptedResponse = Response.status(Response.Status.ACCEPTED).build();
response.resume(acceptedResponse);
}
吾道级别:
@PersistenceContext(unitName = "administration")
private EntityManager entityManager;
@Override
public void createRequestTask(RequestTask requestTask) {
entityManager.persist(requestTask);
}
但我有一个例外:
Exception in thread "Thread-6" javax.persistence.TransactionRequiredException: No EntityManager with actual transaction available for current thread - cannot reliably process 'persist' call at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityMa nagerInvocationHandler.invoke(SharedEntityManagerCreator.java:282) at com.sun.proxy.$Proxy33.persist(Unknown Source) at...
我怎样才能解决这个问题呢?
忘了说我在课堂上注释@Transactional – Vas9IH
你可以编辑你的问题。 – talex
谢谢,我没有注意到 – Vas9IH