gpt4 book ai didi

Spring @Async 注解

转载 作者:行者123 更新时间:2023-12-04 17:21:34 25 4
gpt4 key购买 nike

我有一个关于 Spring @Async 注释的问题。我有一个 Controller 自动连接了一个服务(GnInsuranceDetailsS​​ervice)

@RequestMapping(value="/agn/AP0W01A_010/insertDetail.do")
public ResponseEntity<?> insertDetail(@ModelAttribute("dto")GnInsuranceDetailsDTO dto,HttpSession session) throws Exception {
gnInsuranceDetailsDTO.setBkFlag(getAgnUserInfo(session).getBkFlag());
gnInsuranceDetailsService.insertGnInsuranceDetail(dto);//open another thread to insert data
MessageDTO dto = new MessageDTO(AgnConstant.INSERT_SUCCESS);
return new ResponseEntity<MessageDTO>(dto,HttpStatus.OK);// increase return time for client
}

服务 insertGnInsuranceDetail 方法我声明了@Async up 方法。

@Transactional(readOnly = false)
@Async
public void insertGnInsuranceDetail(GnInsuranceDetailsDTO gnInsuranceDetailsDTO) throws Exception{
GnInsuranceDetails entity = gnInsuranceDetailsDTO.convert();
gnInsuranceDetailsDAO.save(detailsEntity);
}

我为服务方法添加了@Async 以增加客户端的 Controller 响应时间,但它并没有像我想的那样工作。我会丢失什么东西吗?或者我怎样才能以最简单的方式修改?

最佳答案

您不会丢失任何东西,当您将 @Async 放在方法中时,服务将在不同的线程中执行, Controller 的 insertDetail 方法将不会返回,直到您的 insertGnInsuranceDetail 被返回或抛出任何异常。

关于Spring @Async 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39866193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com