title: Transaction TransactionImple ActionStatus.ABORTED was already rolled back
body: <p>I realize a migration of a DTO Business from TomEE to JBoss .</p>
  
  <p>I have this entity : </p>
  
  <pre><code>@NamedQueries({
  @NamedQuery(name = "common.plagebusiness.plage.getAllPlages", query = "SELECT p FROM Plage p ORDER BY p.plageRgMax, p.plageCReseau") })
  @Entity
  @Table(name = "PLAGE")
  public class Plage {
  
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      @Column(name = "idPlage")
      private Integer idPlage;
  
      @Column(name = "rgMin")
      private String plageRgMin;
  </code></pre>
  
  <p>With this Interface :</p>
  
  <pre><code>@Local
  public interface PlagePersistenceManager {
  
  public void importPlages(List&lt;DetailFH55&gt; listeEnregDetail) throws PlageBusinessException, ParseException;
  
  }
  </code></pre>
  
  <p>And the implementation :</p>
  
  <pre><code>@Stateless(name = "common.plagebusiness.PlagePersistenceManager")
  public class PlagePersistenceManagerImpl implements PlagePersistenceManager {
  
      private static final Logger LOGGER = Logger.getLogger(PlagePersistenceManager.class);
  
      @PersistenceContext(unitName = "PlageBusiness")
      private EntityManager em;
  
      @Override
      public void importPlages(final List&lt;DetailFH55&gt; listeEnregDetail) throws PlageBusinessException, ParseException {
          LOGGER.debug("Entree dans importPlages");
  
          if (null != listeEnregDetail) {
              LOGGER.info("Debut Delete");
  
              // suppression des plages
              this.deleteAllPlages();
  
              LOGGER.info("Fin Delete et Debut Insertion en bdd");
  
              for (final DetailFH55 myEnreg : listeEnregDetail) {
                  // insertion des nouvelles plages
                  final Plage plage = this.convertEnregDetailToPersist(myEnreg);
                  this.em.persist(plage);
              }
  
              LOGGER.info("Fin Insertion en bdd");
          }
  
          LOGGER.debug("Sortie dans importPlages");
  
      }
  }
  </code></pre>
  
  <p>Unfortunately, the em.persist doesn't work , i  had this exeption:</p>
  
  <pre><code>Caused by: javax.transaction.RollbackException: JBAS014585: Transaction 'TransactionImple &lt; ac, BasicAction: 0:ffff0a48268b:4bc8a0e:56f01b76:18 status: ActionStatus.ABORTED &gt;' was already rolled back
  </code></pre>
  
  <p>I read in forums that it was because of the timeOut of Jboss. I don't want to change the configuration of Jboss, so I tried by  putting , </p>
  
  <pre><code>@org.jboss.annotation.ejb.TransactionTimeout(10000000) 
  public void importPlages(final List&lt;DetailFH55&gt; listeEnregDetail) throws PlageBusinessException, ParseException  
  </code></pre>
  
  <p>Still the same exception...what's wrong with this code.</p>
  
  <p>The method deleteAllPlages contains :</p>
  
  <pre><code>@Override
  public int deleteAllPlages() throws PlageBusinessException {
      final Query query = this.em.createNativeQuery("DELETE FROM `PLAGE`");
      return query.executeUpdate();
  }
  </code></pre>
  
  <p>I tried to put a flush() and clear() after the persist(plage), and still same Exception.</p>
  
  <pre><code>final Plage plage = this.convertEnregDetailToPersist(myEnreg);
                  this.em.persist(plage);
                  this.em.flush();
                  this.em.clear();
  </code></pre>
  
  <p>Thxs.</p>