有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java请求处理失败;嵌套的异常是org。springframework。交易非法交易状态例外

你能帮我解决这个错误吗

HTTP Status 500 - Request processing failed; nested exception is org.springframework.transaction.IllegalTransactionStateException: Transaction is already completed - do not call commit or rollback more than once per transaction

密码

@Override
    public String saveTemplatesToPCA(List<FilesTemplateDomain> fileTemplates) {
         TransactionDefinition transactionDefinition = new DefaultTransactionDefinition();
         TransactionStatus status = transactionManager.getTransaction(transactionDefinition);
        try {
            template.saveOrUpdateAll(fileTemplates);
            transactionManager.commit(status);

            return "success";
        } catch (Exception e) {
            transactionManager.rollback(status);
            System.out.println("Exception in saveTemplatesToPCA() : "+e);
            return "fail";
        }
    }

共 (1) 个答案

  1. # 1 楼答案

    处理此异常

    @Override
        public String saveTemplatesToPCA(List<FilesTemplateDomain> fileTemplates) {
             TransactionDefinition transactionDefinition = new DefaultTransactionDefinition();
             TransactionStatus status = transactionManager.getTransaction(transactionDefinition);
            try {
                template.saveOrUpdateAll(fileTemplates);
                transactionManager.commit(status);
    
                return "success";
            } catch (Exception e) {
                try{
                transactionManager.rollback(status);
                }catch(Exception ee){
                    System.out.println("Exception in commit or rollback : "+ee);
                }
                System.out.println("Exception in saveTemplatesToPCA() : "+e);
                return "fail";
            }
        }