Spring boot 在Spring框架中使用timeout属性的优点是什么?
当我阅读关于事务的教程时,我注意到Spring boot 在Spring框架中使用timeout属性的优点是什么?,spring-boot,timeout,jta,Spring Boot,Timeout,Jta,当我阅读关于事务的教程时,我注意到timeout属性,我以前从未在我开发的任何REST服务中使用过它 例如,在此代码中: @Service @Transactional( isolation = Isolation.READ_COMMITTED, propagation = Propagation.SUPPORTS, readOnly = false, timeout = 30) public class CarService { @Autowired
timeout
属性,我以前从未在我开发的任何REST服务中使用过它
例如,在此代码中:
@Service
@Transactional(
isolation = Isolation.READ_COMMITTED,
propagation = Propagation.SUPPORTS,
readOnly = false,
timeout = 30)
public class CarService {
@Autowired
private CarRepository carRepository;
@Transactional(
rollbackFor = IllegalArgumentException.class,
noRollbackFor = EntityExistsException.class,
rollbackForClassName = "IllegalArgumentException",
noRollbackForClassName = "EntityExistsException")
public Car save(Car car) {
return carRepository.save(car);
}
}
使用timeout
属性有什么好处?使用它是一种好的做法吗?有人能告诉我超时属性的用例吗
默认值
最长时间更长的时间,那么提供此配置将非常有帮助
以上所有答案都是正确的,但您需要注意的是: 此属性专门设计用于
传播。必需
或传播。需要\u NEW
,因为它只适用于新启动的
交易
正如文档所描述的。谢谢,所以是否添加超时属性是个好主意?是的。添加它是个好主意。但它不应该太短或太长,决定将是困难的一部分。您可以对此进行研究。Hi@Giorgi Tsiklauri,如果好处显而易见,为什么在现实世界中使用超时非常罕见,因为它是AOP控制和管理的又一个属性。如果您确信,您的交易不太可能需要很长时间,或者!如果您有意希望您的事务不会花费太长时间-现在是使用此配置的好时机。请您解释更多“AOP要控制和管理的一个属性”我已更新了答案。请看一看@事务由AOP设施管理和处理。如果你现在不明白,这里的一切都有点难以解释。。然而,我认为我提供了足够的信息来了解为什么使用它是好是坏。