aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Schneider (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ARIES-1494) Exception when calling a transactional method twice from a non transaction method
Date Wed, 01 Jun 2016 12:18:59 GMT

     [ https://issues.apache.org/jira/browse/ARIES-1494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Christian Schneider updated ARIES-1494:
---------------------------------------
    Fix Version/s:     (was: jpa-2.4.0)
                   jpa-2.5.0

> Exception when calling a transactional method twice from a non transaction method
> ---------------------------------------------------------------------------------
>
>                 Key: ARIES-1494
>                 URL: https://issues.apache.org/jira/browse/ARIES-1494
>             Project: Aries
>          Issue Type: Bug
>          Components: JPA
>    Affects Versions: jpa-2.3.0
>            Reporter: Christian Schneider
>            Assignee: Christian Schneider
>             Fix For: jpa-2.5.0
>
>
> This issue was reported by Nicolas Dutertry on the karaf user list:
> http://karaf.922171.n3.nabble.com/JPA-and-transaction-issue-in-Karaf-4-0-4-td4045208.html
> He also provided a repository with a demo (which I forked):
> https://github.com/cschneider/test-jpa
> In short TestServiceImpl has a non Transactional method:
>     public void delete(String... names) {
>         for (String name : names) {
>             System.out.println("Deleting " + name);
>             deleteManager.delete(name);
>         }
>     }
> It calls DeleteManager
>     @Transactional
>     public void delete(String lastName) {
>         Query query = entityManager.createQuery(
>             "delete from Person where lastName = :lastName");
>         
>         query.setParameter("lastName", lastName);
>         query.executeUpdate();
>     }
> If the method TestServiceImpl.delete is called with one name then it works.
> If it is called with two names it fails.
> It is not even necessary to first create the person records to show the error.
> A workaround is to make the method TestServiceImpl.delete also transactional. Then it
works.
> I will create a test case in the jpa code and fix the issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message