aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michał Woś (JIRA) <>
Subject [jira] [Created] (ARIES-1346) EntityManager injection issue
Date Mon, 06 Jul 2015 10:07:05 GMT
Michał Woś created ARIES-1346:

             Summary: EntityManager injection issue
                 Key: ARIES-1346
             Project: Aries
          Issue Type: Improvement
          Components: JPA
    Affects Versions: jpa-2.0.0
         Environment: karaf-4.0.0, java 8
            Reporter: Michał Woś

Consider scenario:
- blueprint service A with JPA 

   A {

      C find() {
         return em.find();

      void delete(C c) {
- blueprint  bean B with A injected. B call methods of A within transaction

B {
   B1() {
      C = A.find(); // Entity returned by find (em.find())
      A.delete(C); // Entity is not attached!!!!!!

Method of bean A are proxied in following way:

find(); //or delete()

Each method call gets its own EM so find has one EM, delete has another one. Entity C is managed
within first EM but not the second.

EM should be shared in transaction within single Thread, not by single method call.

Please also note that:
- transaction could be JTA and use different units in single transaction

My scenario:
- bundle A1,A2,A3 with persistence JPA exposing entities through services (domain module),
Each bundle (A1, A2, A3) uses different schema in database (different unit name)
- bundle B1,B2,B3 with rest  services using entity services in a transaction
(Separation of domain logic from business logic). Each of B1,B2,B3 can use any service of

This message was sent by Atlassian JIRA

View raw message