java如何在flink中模拟异步操作
我试图测试我的RichAsyncFunction
impl,但遇到了以下问题。主流程是调用客户端上的API调用,但是当我将响应模拟为可完成的未来响应并使用测试步骤函数时,会出现序列化错误
DataStream<MyObject> resultStream = AsyncDataStream.unorderedWait(stream,
new MyAsyncStep(), timeout, TimeUnit.MILLISECONDS, capacity);
我知道completable future本身是不可序列化的,但是当我在IDE或flink集群中运行它时MyAsyncStep
工作正常,而当我运行测试用例时失败。在asyncInvoke
方法中,我有
List<CompletableFuture> completableFutureList = getCompletableFutureList(client, input);
有人知道如何嘲笑getCompletableFutureList
吗?目前它给了我getCompletableFutureList not serializable. The object probably contains or references non serializable fields.
共 (0) 个答案