我的一个服务http调用别的服务,然后他那边处理完就直接回调我的另一个controller,但是我的第一个controller方法还没有执行完,就开始执行另一个了,这种问题怎么解决。还有他那边的一个方法处理完我的请求后直接就回调我,这样是否合理?
我的一个服务http调用别的服务,然后他那边处理完就直接回调我的另一个controller,但是我的第一个controller方法还没有执行完,就开始执行另一个了,这种问题怎么解决。还有他那边的一个方法处理完我的请求后直接就回调我,这样是否合理?
15 回答8.2k 阅读
8 回答5.9k 阅读
3 回答3.6k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
放队列嘛,第二个 controller 收到请求后,先投递到队列去,然后队列消费的时候判断 第一个 controller 是否执行完成,如果完成了再执行第二个 controller 的逻辑,如果没有执行完成,就延迟放回队列
你可以在第二个 controller 加一个参数来判断,一个请求是第三方回调过来的请求,还是队列内部发起的请求。