Hi Romain,

I am using Spring's JtaTransactionManager and it is finding a org.apache.geronimo.transaction.manager.GeronimoTransactionManager at the JNDI location java:comp/UserTransaction. Is this the correct transaction manager to be using?

Thanks,
Mike Spencer

On 07/23/2015 04:11 PM, Romain Manni-Bucau wrote:
Hi

isnt it only that spring is not able to lookup tomee tx magaer by default?
try to wire it in your app ctx.

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.openejb/openejb-core/4.7.1/org/apache/openejb/OpenEJB.java#OpenEJB.getTransactionManager%28%29
is the one (doable using methid invoker of spring IIRC)


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Tomitriber
<http://www.tomitribe.com>

2015-07-23 14:04 GMT-07:00 Mike Spencer <[email protected]>:

Hi all,

I am having issues with using database transactions in a Spring based
application. I have my data sources configured on TomEE and they work fine
for non-transactional database calls, but whenever I try to call a method
using Spring's @Transactional annotation a TransactionRequiredException is
thrown due to no active transactions. I have this application working on
Glassfish currently and am trying to port it to TomEE.

The application is using JPA (through EclipseLink), Spring, and Spring
Data JPA to handle the database calls. I have a
org.springframework.transaction.jta.JtaTransactionManager configured and it
appears to be grabbing a
org.apache.geronimo.transaction.manager.GeronimoTransactionManager from
TomEE under a default JNDI name. I am not explicitly creating or
configuring a TransactionManager in TomEE.

As far as I can tell, everything is working up to a point of trying to the
point of committing a transaction. I enabled debug logging and I get this
in my logs:

2015-07-23 14:50:07,510 DEBUG
[AbstractPlatformTransactionManager.java:367] - Creating new transaction
with name
[org.springframework.data.jpa.repository.support.SimpleJpaRepository.saveAndFlush]:
PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
2015-07-23 14:50:07,511 DEBUG
[AbstractPlatformTransactionManager.java:847] - Initiating transaction
rollback
Jul 23, 2015 2:50:07 PM org.apache.catalina.core.ApplicationDispatcher
invoke
SEVERE: Servlet.service() for servlet dispatcher threw exception
org.springframework.dao.InvalidDataAccessApiUsageException:
Exception Description: No transaction is currently active; nested
exception is javax.persistence.TransactionRequiredException:
Exception Description: No transaction is currently active


I do not know if I missed a configuration option in TomEE or not, but I
could use some help trying to find what I am missing.

Thanks,
Mike Spencer


Reply via email to