org.springframework.transaction.annotation.Propagation#NESTED源码实例Demo

下面列出了org.springframework.transaction.annotation.Propagation#NESTED 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Spring   文件: PetServiceImpl.java
@Override
@Transactional(propagation = Propagation.NESTED, readOnly = true)
public String getPetsAsHtml(User owner) {
    Set<Pet> pets = petRepo.findByOwner(owner);
    if(pets.isEmpty()) {
        return "<p>User " + owner.getUsername() + " has no pets.</p>\n";
    }
    StringBuilder htmlSb = new StringBuilder("User " + owner.getUsername() + " has:\n");
    for (Pet pet : pets) {
        htmlSb.append("<p>Name: " + pet.getName() + ", type: " + pet.getPetType() + ", Age: " + pet.getAge() +"</p></br>\n");
    }
    return htmlSb.toString();
}
 
源代码2 项目: Spring   文件: PetServiceImpl.java
@Override
@Transactional(propagation = Propagation.NESTED, readOnly = true)
public String getPetsAsHtml(User owner) {
    Set<Pet> pets = petRepo.findByOwner(owner);
    if(pets.isEmpty()) {
        return "<p>User " + owner.getUsername() + " has no pets.</p>\n";
    }
    StringBuilder htmlSb = new StringBuilder("User " + owner.getUsername() + " has:\n");
    for (Pet pet : pets) {
        htmlSb.append("<p>Name: " + pet.getName() + ", type: " + pet.getPetType() + ", Age: " + pet.getAge() +"</p></br>\n");
    }
    return htmlSb.toString();
}
 
源代码3 项目: tutorial   文件: PersonService.java
/**
 * PROPAGATION_NESTED 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与PROPAGATION_REQUIRED类似的操作。
 */
@Transactional(propagation=Propagation.NESTED)
public void insertNested(PersonDto person, boolean throwException) {
    personDao.insert(person);
    try {
        System.out.println("xxxxxxxWAITING************");
        Thread.sleep(10000);
    }catch(Exception e) {
        
    }
    if(throwException) {
        throw new RuntimeException("ERROR");
    }
}
 
源代码4 项目: fountain   文件: CityDaoTest.java
@Test
@Transactional(propagation = Propagation.NESTED)
public void testUpdate() {
    cityService.createCities(5);
    City city = CityHelper.getSingleCity();
    city.setCityId(CityHelper.CITY_ID_PREFIX + 2);
    cityService.updateCity(CityHelper.CITY_ID_PREFIX + 2);
    City city2 = cityService.getById(CityHelper.CITY_ID_PREFIX + 2);
    assertThat(city2, is(city));
}
 
源代码5 项目: fountain   文件: CityDaoTest.java
@Test
@Transactional(propagation = Propagation.NESTED)
public void testDelete() {
    cityService.createCities(5);
    cityService.deleteCityByIds(CityHelper.getMultipleCityIds(2));
    List<City> cities = cityService.getAll();
    assertThat(cities.size(), is(3));
}
 
源代码6 项目: fountain   文件: StudentDaoTest.java
@Test
@Transactional(propagation = Propagation.NESTED)
public void testUpdate() {
    studentService.createStudents(5);
    Student student = StudentHelper.getSingleStudent();
    student.setStudentId(StudentHelper.STUDENT_ID_LAST + 2);
    studentService.updateStudent(StudentHelper.STUDENT_ID_LAST + 2);
    Student student2 = studentService.getById(StudentHelper.STUDENT_ID_LAST + 2);
    assertThat(student2, is(student));
}
 
源代码7 项目: fountain   文件: StudentDaoTest.java
@Test
@Transactional(propagation = Propagation.NESTED)
public void testDelete() {
    studentService.createStudents(5);
    studentService.deleteStudentByIds(StudentHelper.getMultipleStudentIds(2));
    List<Student> students = studentService.getAll();
    assertThat(students.size(), is(3));
}
 
源代码8 项目: fountain   文件: StudentDaoTest.java
@Test
@Transactional(propagation = Propagation.NESTED)
public void testDeleteAll() {
    //studentService.createStudents(5);
    studentService.deleteAll();
    List<Student> students = studentService.getAll();
    assertThat(students.size(), is(0));
}
 
@Transactional(rollbackFor = Exception.class, propagation = Propagation.NESTED)
    public void test1() {
        System.out.println("test1 run...");
//        int i = 1 / 0;
        System.out.println("test1 finish...");
    }
 
源代码10 项目: transaction-test   文件: User2ServiceImpl.java
@Override
@Transactional(propagation = Propagation.NESTED)
public void addNested(User2 user){
	user2Mapper.insert(user);
}
 
源代码11 项目: transaction-test   文件: User2ServiceImpl.java
@Override
@Transactional(propagation = Propagation.NESTED)
public void addNestedException(User2 user){
	user2Mapper.insert(user);
	throw new RuntimeException();
}
 
源代码12 项目: transaction-test   文件: User1ServiceImpl.java
@Override
@Transactional(propagation = Propagation.NESTED)
public void addNested(User1 user){
	user1Mapper.insert(user);
}
 
源代码13 项目: transaction-test   文件: User1ServiceImpl.java
@Override
@Transactional(propagation = Propagation.NESTED)
public void addNestedException(User1 user){
	user1Mapper.insert(user);
	throw new RuntimeException();
}
 
源代码14 项目: transaction-test   文件: User1ServiceImpl.java
@Override
@Transactional(propagation = Propagation.NESTED,readOnly=true)
public User1 getNested(Integer id){
	return user1Mapper.selectByPrimaryKey(id);
}
 
源代码15 项目: transaction-test   文件: User2ServiceImpl.java
@Override
@Transactional(propagation = Propagation.NESTED)
public void addNested(User2 user){
	user2Mapper.insert(user);
}
 
源代码16 项目: transaction-test   文件: User2ServiceImpl.java
@Override
@Transactional(propagation = Propagation.NESTED)
public void addNestedException(User2 user){
	user2Mapper.insert(user);
	throw new RuntimeException();
}
 
源代码17 项目: transaction-test   文件: User1ServiceImpl.java
@Override
@Transactional(propagation = Propagation.NESTED)
public void addNested(User1 user){
	user1Mapper.insert(user);
}
 
源代码18 项目: transaction-test   文件: User1ServiceImpl.java
@Override
@Transactional(propagation = Propagation.NESTED)
public void addNestedException(User1 user){
	user1Mapper.insert(user);
	throw new RuntimeException();
}
 
@Transactional(propagation = Propagation.NESTED)
public void doNothingUnsupportedPropagation() {
	// This method does nothing, but should fail anyway because of the unsupported
	// propagation.
}