anchor.diff:  
   === Transaction Configuration
   
  -Extended configuration of the transaction is possible with the use of the `@TransactionConfiguration` annotation that is set in addition to the standard `@Transactional` annotation on your entry method or at the class level.
  +Advanced configuration of the transaction is possible with the use of the `@TransactionConfiguration` annotation that is set in addition to the standard `@Transactional` annotation on your entry method or at the class level.
   
   The `@TransactionConfiguration` annotation allows to set a timeout property, in seconds, that applies to transactions created within the annotated method.
   
  
positive.code:     @Inject ChildDAO childDAO;
      @Inject SantaClausDAO santaDAO;
  
      @Transactional <1>
      public void getAGiftFromSanta(Child child, String giftDescription) {
          // some transaction work
          Gift gift = childDAO.addToGiftList(child, giftDescription);
          if (gift == null) {
              throw new OMGGiftNotRecognizedException(); <2>
          }
          else {
              santaDAO.addToSantaTodoList(gift);
  
negative.code: @ApplicationScoped
  public class SantaClausService {
  
      @Inject TransactionManager tm; // <1>
      @Inject ChildDAO childDAO;
      @Inject SantaClausDAO santaDAO;
  
      @Transactional
      public void getAGiftFromSanta(Child child, String giftDescription) {
          // some transaction work
          Gift gift = childDAO.addToGiftList(child, giftDescription);
          if (gift == null) {
              tm.setRollbackOnly(); // <2>
          }
          else {
              santaDAO.addToSantaTodoList(gift);
  