我有一个要求,我需要从rest控制器返回一些状态/长值,然后执行代码以发送推送通知。

@RequestMapping(value="/create")
public String createTicket() throws InterruptedException {
    // code to create ticket
    return "ticket created";
    // need to call sendPushNotifiction() after I return status
}

    public void sendPushNotifiction() throws InterruptedException {
    // code to send push notification
    System.out.println("Sent push notification successfully!!");
}


有人可以告诉我如何实现吗?是否可以为此使用Spring AOP?我认为线程不能保证仅在返回后才执行sendPushNotifiction方法。那么有效实现这一目标的方法是什么?
提前致谢

最佳答案

我认为这可能是异步处理的好用例。 Spring对此具有good support。准确地说,您需要


sendPushNotifiction注释@Async
@EnableAsync注释一些配置类。
在return语句之前调用sendPushNotifiction()。执行流程将不等待sendPushNotifiction完成。


如果不起作用,请尝试在单独的服务中编码sendPushNotifiction

09-08 11:49