我正在处理一个服务层,它在执行任务时记录到数据库。我希望确保在发生错误时不会回滚此日志,因为我应该始终记录失败的尝试。下面是示例代码来解释我想要的是什么。嵌套的Spring事务从不回滚
@Transactional(rollbackFor=Exception.class)
public void performTask()
{
//Perform task 1
log("task1Complete");
//Perform task 2
log("task2Complete");
}
@Transactional()
public void log(String message)
{
//commit message to DB
//This should never rollback
}
我假设这样做的方式是开始一个新的交易,但我不知道如何。