java - spring 事务catch,service捕获不到异常,controller能捕获问题
PHPz
PHPz 2017-04-18 10:33:55
0
2
371
@Transactional
public void save(User user) throws Exception{
    try {
        for (int i = 0;i < 5;i++){
            apiService.createUser();//在权限系统创建用户以http形式
            user.setUserName(“”);
            user.setPassWord(null);
            userDao.save(user);
             System.out.print("继续执行"+i);
        }
    } catch (Exception e) {
        System.out.print("service进来了");
    }
    
    
    公司 架构是spring+spring data jpa+springmvc
    在执行save方法时
    问题一:理论上在循环第一次已经异常不应该继续往下执行,但是会继续循环五次
    问题二:在service中不会进入catch,而在controller中可以,如果我在循环中throw new RuntimeException()异常service进入catch,如果我删除事务注解,没问题进入catch.
    感觉很奇怪,求指点
    
    
PHPz
PHPz

学习是最好的投资!

membalas semua(2)
巴扎黑

Apakah maklumat pengecualian? Urus niaga telah dilaksanakan menggunakan ejen, dan ralat mungkin telah berlaku semasa proses ejen. Dengan cara ini, ralat tidak boleh ditangkap dalam perkhidmatan dan dibuang ke pengawal

左手右手慢动作

Saya terlupa untuk membalas Sebenarnya, data spring jpa menyimpan data semasa menjalankan operasi simpan Jika ia tidak diserahkan kepada pangkalan data, ia perlu disiram untuk menangkap pengecualian

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan