Hi Flink experts,

            I’m working flink async io program for stream join outer
database(mysql),but found sync,please give some advice, or provide some
async demo. thanks 

 

asyncInvoke method are as follow:


@Override
public void asyncInvoke(AsyncUser asyncUser, ResultFuture<AsyncUser>
resultFuture) throws Exception {
    // 使用 asyncUser id 查询
    ps.setString(1, asyncUser.getId());
    ResultSet rs = ps.executeQuery();

    CompletableFuture.supplyAsync(new Supplier<AsyncUser>() {
        @Override
        public AsyncUser get() {
            try {
                if (!rs.isClosed() && rs.next()) {
                    asyncUser.setPhone(rs.getString(1));
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return asyncUser;
        }
    }).thenAccept((AsyncUser tmp) -> {
        List<AsyncUser> list = new ArrayList();
        list.add(tmp);
        resultFuture.complete(list);
    });
}

 

 

 

Best, Venn

Reply via email to