Changeset 8161


Ignore:
Timestamp:
13/03/12 14:56:28 (8 years ago)
Author:
mnagni
Message:

Calling directly an EntityTRansaction in the ModelManager?.createNewProvider under a JTA EntityManager? caused an IllegalStateException?. Created a further test checking the OAIProvider creation.

Note that the tests are actually runned with an embedded DB (HSQL) which in this configuration does not allow to use a JTA EntityManager?

Location:
mauRepo/revitalizationProject/branches/MEDIN/dpws/src
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • mauRepo/revitalizationProject/branches/MEDIN/dpws/src/main/java/ndg/services/revitalization/ejb/ModelManager.java

    r8121 r8161  
    3131import javax.ejb.TransactionAttributeType; 
    3232import javax.persistence.EntityManager; 
     33import javax.persistence.EntityTransaction; 
    3334import javax.persistence.PersistenceContext; 
    3435import javax.persistence.Query; 
     
    606607         * do it following the annotation requirements  
    607608         * */ 
    608         private void startTransaction(){                 
    609                 if (!em.getTransaction().isActive()) { 
    610                         em.getTransaction().begin();     
    611                 } 
     609        private void startTransaction(){ 
     610                if (getTransaction() == null) { 
     611                        return; 
     612                } 
     613                 
     614                if (!getTransaction().isActive()) { 
     615                        getTransaction().begin();        
     616                }                                        
    612617        } 
    613618         
     
    616621         * do it following the annotation requirements  
    617622         * */ 
    618         private void commitTransaction(){                
    619                 if (em.getTransaction().isActive()) { 
    620                         em.getTransaction().commit();    
     623        private void commitTransaction(){        
     624                if (getTransaction() == null) { 
     625                        return; 
     626                } 
     627                 
     628                if (!getTransaction().isActive()) { 
     629                        getTransaction().commit();       
     630                } 
     631        } 
     632         
     633        private EntityTransaction getTransaction() { 
     634                try { 
     635                        return em.getTransaction(); 
     636                } catch (IllegalStateException ex) { 
     637                        logger.info("Tried to call the EntityManager.getTransaction on a JTA EntityManager"); 
     638                        return null; 
    621639                } 
    622640        } 
Note: See TracChangeset for help on using the changeset viewer.