You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Nicolas Duminil (JIRA)" <ji...@apache.org> on 2017/11/14 15:20:00 UTC
[jira] [Created] (DELTASPIKE-1300) WFLYJPA0060: Transaction is
required to perform this operation (either use a transaction or extended
persistence context)
Nicolas Duminil created DELTASPIKE-1300:
-------------------------------------------
Summary: WFLYJPA0060: Transaction is required to perform this operation (either use a transaction or extended persistence context)
Key: DELTASPIKE-1300
URL: https://issues.apache.org/jira/browse/DELTASPIKE-1300
Project: DeltaSpike
Issue Type: Bug
Components: JPA-Module
Affects Versions: 1.6.1
Environment: Wildfly 10.1.0, RESTeasy 3.0.19, CDI 1.2, Ubuntu 16.04
Reporter: Nicolas Duminil
Hello,
In a JAX-RS service, using RestEasy 3.0 on Wildfly 10.1, I have the following producer:
@ApplicationScoped
public class EntityManagerProducer
{
@PersistenceContext(unitName = "customers")
private EntityManager em;
@Produces
@Default
@RequestScoped
public EntityManager createEntityManager()
{
return em;
}
public void dispose(@Disposes @Default EntityManager entityManager)
{
if (entityManager.isOpen())
entityManager.close();
}
}
The following end-point:
@Inject
private CustomerManagementRepository repo;
..............
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Transactional
public Response createCustomer(Customer customer)
{
Customer newCustomer = repo.saveAndFlushAndRefresh(customer);
return Response.created(URI.create("/customers/" + newCustomer.getId())).build();
}
raises the exception:
14:57:53,121 ERROR [io.undertow.request] (default task-1) UT005023: Exception handling request to /customer-management/services/customers: org.jboss.resteasy.spi.UnhandledException: javax.persistence.TransactionRequiredException: WFLYJPA0060: Transaction is required to perform this operation (either use a transaction or extended persistence context)
at org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:77)
at org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:220)
................
Here above the CustomerManagerRepository is:
@Repository
public interface CustomerManagementRepository extends EntityRepository<Customer, BigInteger>
{
public List<Customer> findByFirsName(String firstName);
public List<Customer> findByLastName (String lastName);
public List<Customer> findByCountry (String country);
public List<Customer> findByCity (String city);
public List<Customer> findByZip (String zip);
public List<Customer> findByState (String state);
public List<Customer> findByStreet (String street);
}
I also have the following beans.xml file:
<?xml version="1.0"?>
<beans bean-discovery-mode="annotated" version="2.0" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_2_0.xsd">
<alternatives>
<class>org.apache.deltaspike.jpa.impl.transaction.ContainerManagedTransactionStrategy</class>
</alternatives>
</beans>
What I'm doing wrong here ?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)