У меня есть вопрос о примечании Spring @Async. У меня есть контроллер autowired услуги (GnInsuranceDetailsService)Spring @Async аннотация
@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
}
и методы Service insertGnInsuranceDetail я декларировать @Async вверх метод.
@Transactional(readOnly = false)
@Async
public void insertGnInsuranceDetail(GnInsuranceDetailsDTO gnInsuranceDetailsDTO) throws Exception{
GnInsuranceDetails entity = gnInsuranceDetailsDTO.convert();
gnInsuranceDetailsDAO.save(detailsEntity);
}
Я поставил @Async для метода обслуживания, чтобы увеличить время отклика контроллера на стороне клиента, но он не работает, как я думаю. Я могу потерять что-то? Или как я могу изменить самый простой способ использования?
Хеллоу, @ kuhajeyan.I использовать тестовый код тему. sleep (10000L) перед insertGnInsuranceDetail метод begin.but не работает.Controller будет ждать> 10s для сервиса insertGnInsuranceDetail метод закончен. –
@HamiltonLin вы уверены, что вы включили @ EnableAsync в конфигурации для @ Async для работы – kuhajeyan
Как установить эту конфигурацию весной –