Как обрабатывать @ Asyn c при загрузке Spring - PullRequest
0 голосов
/ 05 мая 2020
public class ServiceImpl{

    @Autowired
    EmailService emailService;

    public void arr() throws Exception
    {
        int[] arr={1,2,3,4};
        for(int i=0;i<arr.length+1;i++)
        {
            System.out.print(i+" ");
        }
        emailService.sendMail("Subject of mail","body of mail","xuz@gmail.com","abc@gmail.com");
    }
}


@EnableAsync
public class EmailService {
    @Async
    public void sendMail(String subject,String body,String from,String to)
    {
        //Implementation of sendMail function
    }
}

Я использовал аннотацию @ Asyn c в почтовой службе для запуска почты, если в методе вызывающего абонента возникает какая-либо ошибка, почта запускается независимо от каких-либо исключений в методе вызывающего.

Я не хочу, чтобы метод электронной почты выполнялся после возникновения ошибки в методе вызывающей стороны. как я могу справиться с этим?

В приведенном выше примере for l oop выдает исключение arrayIndexOutOfBoundException даже после возникновения исключения, почта будет инициирована, поскольку это асинхронная c функция. Я не хочу, чтобы почта запускалась, если в методе arr () возникает исключение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...