Package org.springframework.transaction.interceptor

Examples of org.springframework.transaction.interceptor.TransactionAttribute


   */
  public void testDefaultsToClassTransactionAttribute() throws Exception {
    Method method = TestBean4.class.getMethod("getAge", (Class[]) null);

    AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
    TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean4.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());
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

    if (testMethod.isAnnotationPresent(NotTransactional.class)) {
      return;
    }

    TransactionAttribute transactionAttribute = this.attributeSource.getTransactionAttribute(testMethod,
      testContext.getTestClass());
    TransactionDefinition transactionDefinition = null;
    if (transactionAttribute != null) {
      transactionDefinition = new DelegatingTransactionAttribute(transactionAttribute) {

        public String getName() {
          return testMethod.getName();
        }
      };
    }

    if (transactionDefinition != null) {
      if (logger.isDebugEnabled()) {
        logger.debug("Explicit transaction definition [" + transactionDefinition + "] found for test context ["
            + testContext + "]");
      }
      String qualifier = transactionAttribute.getQualifier();
      PlatformTransactionManager tm;
      if (StringUtils.hasLength(qualifier)) {
        // Use autowire-capable factory in order to support extended
        // qualifier matching (only exposed on the internal BeanFactory,
        // not on the ApplicationContext).
View Full Code Here

    if (testMethod.isAnnotationPresent(NotTransactional.class)) {
      return;
    }

    TransactionAttribute transactionAttribute =
        this.attributeSource.getTransactionAttribute(testMethod, testContext.getTestClass());
    TransactionDefinition transactionDefinition = null;
    if (transactionAttribute != null) {
      transactionDefinition = new DelegatingTransactionAttribute(transactionAttribute) {
        public String getName() {
View Full Code Here

   * @return TransactionAttribute the configured transaction attribute,
   * or <code>null</code> if none was found
   */
  protected TransactionAttribute determineTransactionAttribute(AnnotatedElement ae) {
    for (TransactionAnnotationParser annotationParser : this.annotationParsers) {
      TransactionAttribute attr = annotationParser.parseTransactionAnnotation(ae);
      if (attr != null) {
        return attr;
      }
    }
    return null;
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

    if (testMethod.isAnnotationPresent(NotTransactional.class)) {
      return;
    }

    TransactionAttribute transactionAttribute =
        this.attributeSource.getTransactionAttribute(testMethod, testContext.getTestClass());
    TransactionDefinition transactionDefinition = null;
    if (transactionAttribute != null) {
      transactionDefinition = new DelegatingTransactionAttribute(transactionAttribute) {
        public String getName() {
View Full Code Here

   * @throws NoSuchMethodException
   */
  public void testDoesNotResolveTxAnnotationOnMethodFromClassImplementingAnnotatedInterface() throws SecurityException, NoSuchMethodException {
    AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
    Method m = ImplementsAnnotatedInterface.class.getMethod("echo", Throwable.class);
    TransactionAttribute ta = atas.getTransactionAttribute(m, ImplementsAnnotatedInterface.class);
    assertNull(ta);
  }
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.