@Service
public class StreamService {
@Async
public Future<Boolean> push(String file, String address, Double size) {
TransStream.recordPush(file, address, size);
return new AsyncResult<>(true);
}
}
我通过接口调用实现了这个方法的异步执行,现在我需要调用另一个接口让这个异步执行的方法立即停止执行,我找了很多办法, 网上也百度不出来好的解决办法,求指点一下我该怎么处理!
1.在创建线程的时候获取线程id
2.根据线程id做对应操作
可以尝试根据标识判断, 获取redis中的key判断是否存在, 如果不存在则直接返回结果达到线程终止的操作. 希望可以帮助到你
利用Redis天然的分布式特性即可,设置个key,终止接口那里获取一下,有就return;
Future类本身不就有cancel方法嘛
试试shutdownNow
设置个中断标识