org.springframework.transaction.interceptor.NoRollbackRuleAttribute Java Examples

The following examples show how to use org.springframework.transaction.interceptor.NoRollbackRuleAttribute. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: AnnotationTransactionAttributeSourceTests.java    From spring-analysis-note with MIT License 6 votes vote down vote up
/**
 * Test that when an attribute exists on both class and interface, class takes precedence.
 */
@Test
public void transactionAttributeOnTargetClassMethodOverridesAttributeOnInterfaceMethod() throws Exception {
	Method interfaceMethod = ITestBean3.class.getMethod("getAge");
	Method interfaceMethod2 = ITestBean3.class.getMethod("getName");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(interfaceMethod, TestBean3.class);
	assertEquals(TransactionAttribute.PROPAGATION_REQUIRES_NEW, actual.getPropagationBehavior());
	assertEquals(TransactionAttribute.ISOLATION_REPEATABLE_READ, actual.getIsolationLevel());
	assertEquals(5, actual.getTimeout());
	assertTrue(actual.isReadOnly());

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

	TransactionAttribute actual2 = atas.getTransactionAttribute(interfaceMethod2, TestBean3.class);
	assertEquals(TransactionAttribute.PROPAGATION_REQUIRED, actual2.getPropagationBehavior());
}
 
Example #2
Source File: AnnotationTransactionAttributeSourceTests.java    From spring4-understanding with Apache License 2.0 6 votes vote down vote up
@Test
public void customMethodAttributeWithReadOnlyOverrideOnInterface() throws Exception {
	Method method = TestInterface10.class.getMethod("getAge");

	Transactional annotation = AnnotationUtils.findAnnotation(method, Transactional.class);
	assertNotNull("AnnotationUtils.findAnnotation failed to find @Transactional for TestBean10.getAge()",
			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("Failed to retrieve TransactionAttribute for TestBean10.getAge()", 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());
}
 
Example #3
Source File: AnnotationTransactionAttributeSourceTests.java    From spring4-understanding with Apache License 2.0 6 votes vote down vote up
@Test
public void customClassAttributeWithReadOnlyOverrideOnInterface() throws Exception {
	Method method = TestInterface9.class.getMethod("getAge");

	Transactional annotation = AnnotationUtils.findAnnotation(method, Transactional.class);
	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("Failed to retrieve TransactionAttribute for TestBean9.getAge()", 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());
}
 
Example #4
Source File: AnnotationTransactionAttributeSourceTests.java    From spring4-understanding with Apache License 2.0 6 votes vote down vote up
/**
 * Test that when an attribute exists on both class and interface, class takes precedence.
 */
@Test
public void transactionAttributeOnTargetClassMethodOverridesAttributeOnInterfaceMethod() throws Exception {
	Method interfaceMethod = ITestBean3.class.getMethod("getAge");
	Method interfaceMethod2 = ITestBean3.class.getMethod("getName");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(interfaceMethod, TestBean3.class);
	assertEquals(TransactionAttribute.PROPAGATION_REQUIRES_NEW, actual.getPropagationBehavior());
	assertEquals(TransactionAttribute.ISOLATION_REPEATABLE_READ, actual.getIsolationLevel());
	assertEquals(5, actual.getTimeout());
	assertTrue(actual.isReadOnly());

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

	TransactionAttribute actual2 = atas.getTransactionAttribute(interfaceMethod2, TestBean3.class);
	assertEquals(TransactionAttribute.PROPAGATION_REQUIRED, actual2.getPropagationBehavior());
}
 
Example #5
Source File: AnnotationTransactionAttributeSourceTests.java    From java-technology-stack with MIT License 6 votes vote down vote up
@Test
public void customMethodAttributeWithReadOnlyOverrideOnInterface() throws Exception {
	Method method = TestInterface10.class.getMethod("getAge");

	Transactional annotation = AnnotationUtils.findAnnotation(method, Transactional.class);
	assertNotNull("AnnotationUtils.findAnnotation failed to find @Transactional for TestBean10.getAge()",
			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("Failed to retrieve TransactionAttribute for TestBean10.getAge()", 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());
}
 
Example #6
Source File: AnnotationTransactionAttributeSourceTests.java    From java-technology-stack with MIT License 6 votes vote down vote up
@Test
public void customClassAttributeWithReadOnlyOverrideOnInterface() throws Exception {
	Method method = TestInterface9.class.getMethod("getAge");

	Transactional annotation = AnnotationUtils.findAnnotation(method, Transactional.class);
	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("Failed to retrieve TransactionAttribute for TestBean9.getAge()", 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());
}
 
Example #7
Source File: AnnotationTransactionAttributeSourceTests.java    From java-technology-stack with MIT License 6 votes vote down vote up
/**
 * Test that when an attribute exists on both class and interface, class takes precedence.
 */
@Test
public void transactionAttributeOnTargetClassMethodOverridesAttributeOnInterfaceMethod() throws Exception {
	Method interfaceMethod = ITestBean3.class.getMethod("getAge");
	Method interfaceMethod2 = ITestBean3.class.getMethod("getName");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(interfaceMethod, TestBean3.class);
	assertEquals(TransactionAttribute.PROPAGATION_REQUIRES_NEW, actual.getPropagationBehavior());
	assertEquals(TransactionAttribute.ISOLATION_REPEATABLE_READ, actual.getIsolationLevel());
	assertEquals(5, actual.getTimeout());
	assertTrue(actual.isReadOnly());

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

	TransactionAttribute actual2 = atas.getTransactionAttribute(interfaceMethod2, TestBean3.class);
	assertEquals(TransactionAttribute.PROPAGATION_REQUIRED, actual2.getPropagationBehavior());
}
 
Example #8
Source File: AnnotationTransactionAttributeSourceTests.java    From spring-analysis-note with MIT License 6 votes vote down vote up
@Test
public void customMethodAttributeWithReadOnlyOverrideOnInterface() throws Exception {
	Method method = TestInterface10.class.getMethod("getAge");

	Transactional annotation = AnnotationUtils.findAnnotation(method, Transactional.class);
	assertNotNull("AnnotationUtils.findAnnotation failed to find @Transactional for TestBean10.getAge()",
			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("Failed to retrieve TransactionAttribute for TestBean10.getAge()", 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());
}
 
Example #9
Source File: AnnotationTransactionAttributeSourceTests.java    From spring-analysis-note with MIT License 6 votes vote down vote up
@Test
public void customClassAttributeWithReadOnlyOverrideOnInterface() throws Exception {
	Method method = TestInterface9.class.getMethod("getAge");

	Transactional annotation = AnnotationUtils.findAnnotation(method, Transactional.class);
	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("Failed to retrieve TransactionAttribute for TestBean9.getAge()", 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());
}
 
Example #10
Source File: AnnotationTransactionAttributeSourceTests.java    From spring-analysis-note with MIT License 5 votes vote down vote up
@Test
public void customMethodAttributeDetected() throws Exception {
	Method method = TestBean6.class.getMethod("getAge");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean6.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());
}
 
Example #11
Source File: AnnotationTransactionAttributeSourceTests.java    From spring4-understanding with Apache License 2.0 5 votes vote down vote up
@Test
public void customMethodAttributeWithReadOnlyOverrideDetected() throws Exception {
	Method method = TestBean8.class.getMethod("getAge");

	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());
}
 
Example #12
Source File: AnnotationTransactionAttributeSourceTests.java    From spring4-understanding with Apache License 2.0 5 votes vote down vote up
@Test
public void customClassAttributeWithReadOnlyOverrideDetected() throws Exception {
	Method method = TestBean7.class.getMethod("getAge");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean7.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());
}
 
Example #13
Source File: AnnotationTransactionAttributeSourceTests.java    From spring4-understanding with Apache License 2.0 5 votes vote down vote up
@Test
public void customMethodAttributeDetected() throws Exception {
	Method method = TestBean6.class.getMethod("getAge");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean6.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());
}
 
Example #14
Source File: AnnotationTransactionAttributeSourceTests.java    From spring4-understanding with Apache License 2.0 5 votes vote down vote up
@Test
public void customClassAttributeDetected() throws Exception {
	Method method = TestBean5.class.getMethod("getAge");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean5.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());
}
 
Example #15
Source File: AnnotationTransactionAttributeSourceTests.java    From spring4-understanding with Apache License 2.0 5 votes vote down vote up
/**
 * Test that transaction attribute is inherited from class
 * if not specified on method.
 */
@Test
public void defaultsToClassTransactionAttribute() throws Exception {
	Method method = TestBean4.class.getMethod("getAge");

	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());
}
 
Example #16
Source File: AnnotationTransactionAttributeSourceTests.java    From spring-analysis-note with MIT License 5 votes vote down vote up
@Test
public void customClassAttributeDetected() throws Exception {
	Method method = TestBean5.class.getMethod("getAge");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean5.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());
}
 
Example #17
Source File: AnnotationTransactionAttributeSourceTests.java    From spring-analysis-note with MIT License 5 votes vote down vote up
/**
 * Test that transaction attribute is inherited from class
 * if not specified on method.
 */
@Test
public void defaultsToClassTransactionAttribute() throws Exception {
	Method method = TestBean4.class.getMethod("getAge");

	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());
}
 
Example #18
Source File: AnnotationTransactionAttributeSourceTests.java    From spring-analysis-note with MIT License 5 votes vote down vote up
@Test
public void customClassAttributeWithReadOnlyOverrideDetected() throws Exception {
	Method method = TestBean7.class.getMethod("getAge");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean7.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());
}
 
Example #19
Source File: AnnotationTransactionAttributeSourceTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void customMethodAttributeWithReadOnlyOverrideDetected() throws Exception {
	Method method = TestBean8.class.getMethod("getAge");

	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());
}
 
Example #20
Source File: AnnotationTransactionAttributeSourceTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void customClassAttributeWithReadOnlyOverrideDetected() throws Exception {
	Method method = TestBean7.class.getMethod("getAge");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean7.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());
}
 
Example #21
Source File: AnnotationTransactionAttributeSourceTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void customMethodAttributeDetected() throws Exception {
	Method method = TestBean6.class.getMethod("getAge");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean6.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());
}
 
Example #22
Source File: AnnotationTransactionAttributeSourceTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Test
public void customClassAttributeDetected() throws Exception {
	Method method = TestBean5.class.getMethod("getAge");

	AnnotationTransactionAttributeSource atas = new AnnotationTransactionAttributeSource();
	TransactionAttribute actual = atas.getTransactionAttribute(method, TestBean5.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());
}
 
Example #23
Source File: AnnotationTransactionAttributeSourceTests.java    From java-technology-stack with MIT License 5 votes vote down vote up
/**
 * Test that transaction attribute is inherited from class
 * if not specified on method.
 */
@Test
public void defaultsToClassTransactionAttribute() throws Exception {
	Method method = TestBean4.class.getMethod("getAge");

	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());
}
 
Example #24
Source File: AnnotationTransactionAttributeSourceTests.java    From spring-analysis-note with MIT License 5 votes vote down vote up
@Test
public void customMethodAttributeWithReadOnlyOverrideDetected() throws Exception {
	Method method = TestBean8.class.getMethod("getAge");

	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());
}
 
Example #25
Source File: TxAdviceBeanDefinitionParser.java    From lams with GNU General Public License v2.0 4 votes vote down vote up
private void addNoRollbackRuleAttributesTo(List<RollbackRuleAttribute> rollbackRules, String noRollbackForValue) {
	String[] exceptionTypeNames = StringUtils.commaDelimitedListToStringArray(noRollbackForValue);
	for (String typeName : exceptionTypeNames) {
		rollbackRules.add(new NoRollbackRuleAttribute(StringUtils.trimWhitespace(typeName)));
	}
}
 
Example #26
Source File: TxAdviceBeanDefinitionParser.java    From spring-analysis-note with MIT License 4 votes vote down vote up
private void addNoRollbackRuleAttributesTo(List<RollbackRuleAttribute> rollbackRules, String noRollbackForValue) {
	String[] exceptionTypeNames = StringUtils.commaDelimitedListToStringArray(noRollbackForValue);
	for (String typeName : exceptionTypeNames) {
		rollbackRules.add(new NoRollbackRuleAttribute(StringUtils.trimWhitespace(typeName)));
	}
}
 
Example #27
Source File: TxAdviceBeanDefinitionParser.java    From spring4-understanding with Apache License 2.0 4 votes vote down vote up
private void addNoRollbackRuleAttributesTo(List<RollbackRuleAttribute> rollbackRules, String noRollbackForValue) {
	String[] exceptionTypeNames = StringUtils.commaDelimitedListToStringArray(noRollbackForValue);
	for (String typeName : exceptionTypeNames) {
		rollbackRules.add(new NoRollbackRuleAttribute(StringUtils.trimWhitespace(typeName)));
	}
}
 
Example #28
Source File: TxAdviceBeanDefinitionParser.java    From java-technology-stack with MIT License 4 votes vote down vote up
private void addNoRollbackRuleAttributesTo(List<RollbackRuleAttribute> rollbackRules, String noRollbackForValue) {
	String[] exceptionTypeNames = StringUtils.commaDelimitedListToStringArray(noRollbackForValue);
	for (String typeName : exceptionTypeNames) {
		rollbackRules.add(new NoRollbackRuleAttribute(StringUtils.trimWhitespace(typeName)));
	}
}