【问题标题】:Question on Spring Transaction and exception关于 Spring Transaction 和异常的问题
【发布时间】:2018-09-23 13:59:22
【问题描述】:

我已经看过几篇帖子,但我仍然无法理解我的问题。

我有以下代码:

@Component
class API{
...
public String getTranslations(){
    serviceLayer.getTranslations()
}
...
}

class ServiceLayer(){
....
public String getTranslations(){

...

for (final PulldownEntry docStructure : docStructures)
try{
    structure.getTranslations(docStructure .getId())
}
catch(Exception e){
 do nothing
}

}
....

}


class Structure{
....
@Transactional(propagation = Propagation.REQUIRED, noRollbackFor = Exception.class, readOnly = true)
public String getTranslations(Long structureId){

    DataStructure dataStructure = dao.getObject(structureId);
if(dataStructure.hasNoData())
throw CustomException();

return dataStructure .getXML():


}
....
}

当抛出异常时,我收到“UnexpectedRollbackException:事务回滚,因为它已被标记为仅回滚”为什么?

【问题讨论】:

    标签: spring spring-transactions


    【解决方案1】:

    假设它与这个相关:https://jira.spring.io/browse/SPR-9746

    当前的解决方法是删除 readOnly 标志。

    【讨论】:

      猜你喜欢
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多