Package br.gov.frameworkdemoiselle.transaction

Examples of br.gov.frameworkdemoiselle.transaction.Transaction


    return result;
  }

  private void initiate(final InvocationContext ic) {
    Transaction transaction = getTransactionContext().getCurrentTransaction();
    TransactionInfo transactionInfo = getTransactionInfo();

    if (!transaction.isActive()) {
      transaction.begin();
      transactionInfo.markAsOwner();
      getLogger().info(getBundle().getString("begin-transaction"));
    }

    transactionInfo.incrementCounter();
View Full Code Here


    transactionInfo.incrementCounter();
  }

  private void handleException(final Exception cause) {
    Transaction transaction = getTransactionContext().getCurrentTransaction();

    if (!transaction.isMarkedRollback()) {
      boolean rollback = false;
      ApplicationException annotation = cause.getClass().getAnnotation(ApplicationException.class);

      if (annotation == null || annotation.rollback()) {
        rollback = true;
      }

      if (rollback) {
        transaction.setRollbackOnly();
        getLogger().info(getBundle().getString("transaction-marked-rollback", cause.getMessage()));
      }
    }
  }
View Full Code Here

      }
    }
  }

  private void complete(final InvocationContext ic) {
    Transaction transaction = getTransactionContext().getCurrentTransaction();
    TransactionInfo transactionInfo = getTransactionInfo();
    transactionInfo.decrementCounter();

    if (transactionInfo.getCounter() == 0 && transaction.isActive()) {

      if (transactionInfo.isOwner()) {
        if (transaction.isMarkedRollback()) {
          transaction.rollback();
          transactionInfo.clear();

          getLogger().info(getBundle().getString("transaction-rolledback"));

        } else {
          transaction.commit();
          transactionInfo.clear();

          getLogger().info(getBundle().getString("transaction-commited"));
        }
      }

    } else if (transactionInfo.getCounter() == 0 && !transaction.isActive()) {
      getLogger().info(getBundle().getString("transaction-already-finalized"));
    }
  }
View Full Code Here

    return result;
  }

  private void initiate(final InvocationContext ic) {
    Transaction transaction = getTransactionContext().getCurrentTransaction();
    TransactionInfo transactionInfo = getTransactionInfo();

    if (!transaction.isActive()) {
      transaction.begin();
      transactionInfo.markAsOwner();
      getLogger().info(getBundle().getString("begin-transaction"));
    }

    transactionInfo.incrementCounter();
View Full Code Here

    transactionInfo.incrementCounter();
  }

  private void handleException(final Exception cause) {
    Transaction transaction = getTransactionContext().getCurrentTransaction();

    if (!transaction.isMarkedRollback()) {
      boolean rollback = false;
      ApplicationException annotation = cause.getClass().getAnnotation(ApplicationException.class);

      if (annotation == null || annotation.rollback()) {
        rollback = true;
      }

      if (rollback) {
        transaction.setRollbackOnly();
        getLogger().info(getBundle().getString("transaction-marked-rollback", cause.getMessage()));
      }
    }
  }
View Full Code Here

      }
    }
  }

  private void complete(final InvocationContext ic) {
    Transaction transaction = getTransactionContext().getCurrentTransaction();
    TransactionInfo transactionInfo = getTransactionInfo();
    transactionInfo.decrementCounter();

    if (transactionInfo.getCounter() == 0 && transaction.isActive()) {

      if (transactionInfo.isOwner()) {
        if (transaction.isMarkedRollback()) {
          transaction.rollback();
          transactionInfo.clear();

          getLogger().info(getBundle().getString("transaction-rolledback"));

        } else {
          transaction.commit();
          transactionInfo.clear();

          getLogger().info(getBundle().getString("transaction-commited"));
        }
      }

    } else if (transactionInfo.getCounter() == 0 && !transaction.isActive()) {
      getLogger().info(getBundle().getString("transaction-already-finalized"));
    }
  }
View Full Code Here

    assertEquals(JTATransaction.class, transactionContext.getCurrentTransaction().getClass());
  }

  @Test
  public void commitWithSuccess() {
    Transaction transaction = transactionContext.getCurrentTransaction();

    MyEntity1 entity1 = new MyEntity1();
    entity1.setId(createId("id-1"));
    entity1.setDescription("desc-1");

    MyEntity2 entity2 = new MyEntity2();
    entity2.setId(createId("id-2"));
    entity2.setDescription("desc-2");

    assertFalse(transaction.isActive());
   
    transaction.begin();
    assertTrue(transaction.isActive());
   
    em1.joinTransaction();
    em2.joinTransaction();

    em1.persist(entity1);
    em2.persist(entity2);
   
    transaction.commit();
    em1.clear();
    em2.clear();

    MyEntity1 persisted1 = em1.find(MyEntity1.class, createId("id-1"));
    MyEntity2 persisted2 = em2.find(MyEntity2.class, createId("id-2"));
View Full Code Here

    assertEquals("desc-2", persisted2.getDescription());
  }
 
  @Test
  public void commitWithException() {
    Transaction transaction = transactionContext.getCurrentTransaction();

    MyEntity1 entity1 = new MyEntity1();
    entity1.setId(createId("id-1"));
    entity1.setDescription("desc-1");

    assertFalse(transaction.isActive());
   
    transaction.begin();
    assertTrue(transaction.isActive());
   
    em1.joinTransaction();

    em1.persist(entity1);
   
    transaction.commit();
    em1.clear();

    entity1 = new MyEntity1();
    entity1.setId(createId("id-1"));
    entity1.setDescription("desc-1");
   
    assertFalse(transaction.isActive());
    transaction.begin();
    assertTrue(transaction.isActive());
   
    em1.joinTransaction();
    em1.persist(entity1);
   
    try {
      transaction.commit();
      Assert.fail();
    }
    catch(TransactionException e) {
      e.printStackTrace();
      //success
View Full Code Here

    em1.flush();
  }

  @Test
  public void rollbackWithSuccess() {
    Transaction transaction = transactionContext.getCurrentTransaction();

    MyEntity1 entity1 = new MyEntity1();
    entity1.setId(createId("id-3"));

    MyEntity2 entity2 = new MyEntity2();
    entity2.setId(createId("id-4"));

    assertFalse(transaction.isMarkedRollback());
    transaction.begin();
    assertTrue(transaction.isActive());
   
    em1.joinTransaction();
    em2.joinTransaction();

    em1.persist(entity1);
    em2.persist(entity2);
    em1.flush();
    em2.flush();
    transaction.setRollbackOnly();

    if (transaction.isMarkedRollback()) {
      transaction.rollback();
    }

    em1.clear();
    em2.clear();
View Full Code Here

    assertEquals(JPATransaction.class, transactionContext.getCurrentTransaction().getClass());
  }

  @Test
  public void commitWithSuccess() {
    Transaction transaction = transactionContext.getCurrentTransaction();

    MyEntity1 entity1 = new MyEntity1();
    entity1.setId(createId("id-1"));
    entity1.setDescription("desc-1");

    MyEntity2 entity2 = new MyEntity2();
    entity2.setId(createId("id-2"));
    entity2.setDescription("desc-2");

    assertFalse(transaction.isActive());
    transaction.begin();
    assertTrue(transaction.isActive());

    em1.persist(entity1);
    em2.persist(entity2);
    transaction.commit();
    em1.clear();
    em2.clear();

    MyEntity1 persisted1 = em1.find(MyEntity1.class, createId("id-1"));
    MyEntity2 persisted2 = em2.find(MyEntity2.class, createId("id-2"));
View Full Code Here

TOP

Related Classes of br.gov.frameworkdemoiselle.transaction.Transaction

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.