Package org.springframework.transaction.interceptor

Examples of org.springframework.transaction.interceptor.TransactionAttribute


  @Test
  public void testCustomMethodAttributeWithReadOnlyOverrideDetected() throws Exception {
    Method method = TestBean8.class.getMethod("getAge", (Class[]) null);

    AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
    TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean8.class);

    RuleBasedTransactionAttribute rbta = new RuleBasedTransactionAttribute();
    rbta.getRollbackRules().add(new RollbackRuleAttribute(Exception.class));
    rbta.getRollbackRules().add(new NoRollbackRuleAttribute(IOException.class));
    assertEquals(rbta.getRollbackRules(), ((RuleBasedTransactionAttribute) actual).getRollbackRules());

    assertTrue(actual.isReadOnly());
  }
View Full Code Here


    assertNull("AnnotationUtils.findAnnotation should not find @Transactional for TestBean9.getAge()", annotation);
    annotation = AnnotationUtils.findAnnotation(TestBean9.class, Transactional.class);
    assertNotNull("AnnotationUtils.findAnnotation failed to find @Transactional for TestBean9", annotation);

    AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
    TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean9.class);
    assertNotNull("Retrieved TransactionAttribute for TestBean9", actual);

    RuleBasedTransactionAttribute rbta = new RuleBasedTransactionAttribute();
    rbta.getRollbackRules().add(new RollbackRuleAttribute(Exception.class));
    rbta.getRollbackRules().add(new NoRollbackRuleAttribute(IOException.class));
    assertEquals(rbta.getRollbackRules(), ((RuleBasedTransactionAttribute) actual).getRollbackRules());

    assertTrue(actual.isReadOnly());
  }
View Full Code Here

        annotation);
    annotation = AnnotationUtils.findAnnotation(TestBean10.class, Transactional.class);
    assertNull("AnnotationUtils.findAnnotation should not find @Transactional for TestBean10", annotation);

    AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
    TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean10.class);
    assertNotNull("Retrieved TransactionAttribute for TestBean10", actual);

    RuleBasedTransactionAttribute rbta = new RuleBasedTransactionAttribute();
    rbta.getRollbackRules().add(new RollbackRuleAttribute(Exception.class));
    rbta.getRollbackRules().add(new NoRollbackRuleAttribute(IOException.class));
    assertEquals(rbta.getRollbackRules(), ((RuleBasedTransactionAttribute) actual).getRollbackRules());

    assertTrue(actual.isReadOnly());
  }
View Full Code Here

  public void testTransactionAttributeDeclaredOnClassMethodWithEjb3() throws Exception {
    Method getAgeMethod = ITestBean.class.getMethod("getAge", (Class[]) null);
    Method getNameMethod = ITestBean.class.getMethod("getName", (Class[]) null);

    AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
    TransactionAttribute getAgeAttr = atas.getTransactionAttribute(getAgeMethod, Ejb3AnnotatedBean1.class);
    assertEquals(TransactionAttribute.PROPAGATION_REQUIRED, getAgeAttr.getPropagationBehavior());
    TransactionAttribute getNameAttr = atas.getTransactionAttribute(getNameMethod, Ejb3AnnotatedBean1.class);
    assertEquals(TransactionAttribute.PROPAGATION_SUPPORTS, getNameAttr.getPropagationBehavior());
  }
View Full Code Here

  public void testTransactionAttributeDeclaredOnClassWithEjb3() throws Exception {
    Method getAgeMethod = ITestBean.class.getMethod("getAge", (Class[]) null);
    Method getNameMethod = ITestBean.class.getMethod("getName", (Class[]) null);

    AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
    TransactionAttribute getAgeAttr = atas.getTransactionAttribute(getAgeMethod, Ejb3AnnotatedBean2.class);
    assertEquals(TransactionAttribute.PROPAGATION_REQUIRED, getAgeAttr.getPropagationBehavior());
    TransactionAttribute getNameAttr = atas.getTransactionAttribute(getNameMethod, Ejb3AnnotatedBean2.class);
    assertEquals(TransactionAttribute.PROPAGATION_SUPPORTS, getNameAttr.getPropagationBehavior());
  }
View Full Code Here

  public void testTransactionAttributeDeclaredOnInterfaceWithEjb3() throws Exception {
    Method getAgeMethod = ITestEjb.class.getMethod("getAge", (Class[]) null);
    Method getNameMethod = ITestEjb.class.getMethod("getName", (Class[]) null);

    AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
    TransactionAttribute getAgeAttr = atas.getTransactionAttribute(getAgeMethod, Ejb3AnnotatedBean3.class);
    assertEquals(TransactionAttribute.PROPAGATION_REQUIRED, getAgeAttr.getPropagationBehavior());
    TransactionAttribute getNameAttr = atas.getTransactionAttribute(getNameMethod, Ejb3AnnotatedBean3.class);
    assertEquals(TransactionAttribute.PROPAGATION_SUPPORTS, getNameAttr.getPropagationBehavior());
  }
View Full Code Here

  public void testTransactionAttributeDeclaredOnClassMethodWithJta() throws Exception {
    Method getAgeMethod = ITestBean.class.getMethod("getAge", (Class[]) null);
    Method getNameMethod = ITestBean.class.getMethod("getName", (Class[]) null);

    AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
    TransactionAttribute getAgeAttr = atas.getTransactionAttribute(getAgeMethod, JtaAnnotatedBean1.class);
    assertEquals(TransactionAttribute.PROPAGATION_REQUIRED, getAgeAttr.getPropagationBehavior());
    TransactionAttribute getNameAttr = atas.getTransactionAttribute(getNameMethod, JtaAnnotatedBean1.class);
    assertEquals(TransactionAttribute.PROPAGATION_SUPPORTS, getNameAttr.getPropagationBehavior());
  }
View Full Code Here

  public void testTransactionAttributeDeclaredOnClassWithJta() throws Exception {
    Method getAgeMethod = ITestBean.class.getMethod("getAge", (Class[]) null);
    Method getNameMethod = ITestBean.class.getMethod("getName", (Class[]) null);

    AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
    TransactionAttribute getAgeAttr = atas.getTransactionAttribute(getAgeMethod, JtaAnnotatedBean2.class);
    assertEquals(TransactionAttribute.PROPAGATION_REQUIRED, getAgeAttr.getPropagationBehavior());
    TransactionAttribute getNameAttr = atas.getTransactionAttribute(getNameMethod, JtaAnnotatedBean2.class);
    assertEquals(TransactionAttribute.PROPAGATION_SUPPORTS, getNameAttr.getPropagationBehavior());
  }
View Full Code Here

  public void testTransactionAttributeDeclaredOnInterfaceWithJta() throws Exception {
    Method getAgeMethod = ITestEjb.class.getMethod("getAge", (Class[]) null);
    Method getNameMethod = ITestEjb.class.getMethod("getName", (Class[]) null);

    AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
    TransactionAttribute getAgeAttr = atas.getTransactionAttribute(getAgeMethod, JtaAnnotatedBean3.class);
    assertEquals(TransactionAttribute.PROPAGATION_REQUIRED, getAgeAttr.getPropagationBehavior());
    TransactionAttribute getNameAttr = atas.getTransactionAttribute(getNameMethod, JtaAnnotatedBean3.class);
    assertEquals(TransactionAttribute.PROPAGATION_SUPPORTS, getNameAttr.getPropagationBehavior());
  }
View Full Code Here

  }

  public void testRollbackRules() {
    TransactionInterceptor txInterceptor = (TransactionInterceptor) context.getBean("txRollbackAdvice");
    TransactionAttributeSource txAttrSource = txInterceptor.getTransactionAttributeSource();
    TransactionAttribute txAttr = txAttrSource.getTransactionAttribute(getAgeMethod,ITestBean.class);
    assertTrue("should be configured to rollback on Exception",txAttr.rollbackOn(new Exception()));

    txAttr = txAttrSource.getTransactionAttribute(setAgeMethod, ITestBean.class);
    assertFalse("should not rollback on RuntimeException",txAttr.rollbackOn(new RuntimeException()));
  }
View Full Code Here

TOP

Related Classes of org.springframework.transaction.interceptor.TransactionAttribute

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.