Greetings,I'm trying to use DeltaSpike 1.6.1 JPA/Data module with JBoss EAP
6.4.My repository is as follows:@Repositorypublic interface
CustomerRepository extends EntityRepository<CustomerEntity, BigInteger>{}My
entity manager producer is as follows:public class EntityManagerProducer{
@PersistenceContext private EntityManager em; @Produces
@TransactionScoped public EntityManager createEntityManager() { return
em; }Notice that I'm not overriding the closeEntityManager() methos as, in
my context, only the container may close the EntityManager.My service looks
as follows:@Path("/customers")public class CustomerService{ @Inject
private CustomerRepository customerRepository; @POST
@Consumes("application/json") public Response createCustomer(Customer
customer) { CustomerEntity customerEntity = new CustomerEntity
(customer); customerEntity = customerRepository.save(customerEntity);
return Response.created(URI.create("/customers/" +
customerEntity.getId())).build(); }}My persistence.xml looks as
follows:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
org.hibernate.ejb.HibernatePersistence java:jboss/datasources/ExampleDS
false Last but not least, my
beans.xml looks as follows:<?xml version="1.0" encoding="UTF-8"
standalone="yes"?>
org.apache.deltaspike.jpa.impl.transaction.ContainerManagedTransactionStrategy
Deploying on EAP 6.4.0 raises the following:Caused by:
java.lang.IllegalStateException: A JTA EntityManager cannot use
getTransaction() at
org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:1019)
[hibernate-entitymanager-4.2.22.Final-redhat-1.jar:4.2.22.Final-redhat-1]
at
org.jboss.as.jpa.container.AbstractEntityManager.getTransaction(AbstractEntityManager.java:498)
[jboss-as-jpa-7.5.6.Final-redhat-2.jar:7.5.6.Final-redhat-2] at
sun.reflect.GeneratedMethodAccessor218.invoke(Unknown Source) [:1.8.0_65]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[rt.jar:1.8.0_65] at java.lang.reflect.Method.invoke(Method.java:497)
[rt.jar:1.8.0_65] at
org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:45)
[weld-core-1.1.31.Final-redhat-1.jar:1.1.31.Final-redhat-1] at
org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105)
[weld-core-1.1.31.Final-redhat-1.jar:1.1.31.Final-redhat-1] at
org.jboss.weld.proxies.EntityManager$2068912035$Proxy$_$$_WeldClientProxy.getTransaction(EntityManager$2068912035$Proxy$_$$_WeldClientProxy.java)
[weld-core-1.1.31.Final-redhat-1.jar:] at
org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.getTransaction(ResourceLocalTransactionStrategy.java:370)
[deltaspike-jpa-module-impl-1.6.1.jar:1.6.1] at
org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.rollbackAllTransactions(ResourceLocalTransactionStrategy.java:336)
[deltaspike-jpa-module-impl-1.6.1.jar:1.6.1] at
org.apache.deltaspike.jpa.impl.transaction.ResourceLocalTransactionStrategy.execute(ResourceLocalTransactionStrategy.java:154)
[deltaspike-jpa-module-impl-1.6.1.jar:1.6.1] at
org.apache.deltaspike.data.impl.tx.TransactionalQueryRunner.executeTransactional(TransactionalQueryRunner.java:72)
[deltaspike-data-module-impl-1.6.1.jar:1.6.1] at
org.apache.deltaspike.data.impl.tx.TransactionalQueryRunner.executeQuery(TransactionalQueryRunner.java:54)
[deltaspike-data-module-impl-1.6.1.jar:1.6.1] at
org.apache.deltaspike.data.impl.tx.TransactionalQueryRunner$Proxy$_$$_WeldClientProxy.executeQuery(TransactionalQueryRunner$Proxy$_$$_WeldClientProxy.java)
[deltaspike-data-module-impl-1.6.1.jar:1.6.1] at
org.apache.deltaspike.data.impl.handler.QueryHandler.process(QueryHandler.java:147)
[deltaspike-data-module-impl-1.6.1.jar:1.6.1] ... 38 moreI can't figure out
what the problem might be. The equivalent code, or almost, works properly in
a Java SE environment. Also, not using DeltaSpike JPA/Data but just a
stateless session bean, works properly. But I would prefer to use the
repositories. Please help !Many thanks in advance,Nicolas
--
View this message in context:
http://apache-deltaspike-incubator-discussions.2316169.n4.nabble.com/A-JTA-EntityManager-cannot-use-getTransaction-tp4663224.html
Sent from the Apache DeltaSpike Incubator Discussions mailing list archive at
Nabble.com.