小编Gio*_*kis的帖子

下面CompletableFuture示例中join的调用是否会阻塞进程

我试图理解 CompletableFutures 和返回已完成的 future 的调用链,我创建了下面的示例,它模拟了对数据库的两次调用。

第一个方法应该提供一个包含 userId 列表的完整 future,然后我需要调用另一个提供 userId 的方法来获取用户(在本例中为字符串)。

总结一下:

  1. 获取 id
  2. 获取与这些 id 对应的用户列表。

我创建了简单的方法来模拟睡眠线程的响应。请检查下面的代码

public class PipelineOfTasksExample {

    private Map<Long, String> db = new HashMap<>();

    PipelineOfTasksExample() {
        db.put(1L, "user1");
        db.put(2L, "user2");
        db.put(3L, "user3");
        db.put(4L, "user4");
    }


    private CompletableFuture<List<Long>> returnUserIdsFromDb() {
        try {
            Thread.sleep(500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("building the list of Ids" + " - thread: " + Thread.currentThread().getName());
        return CompletableFuture.supplyAsync(() -> Arrays.asList(1L, 2L, 3L, 4L));
    }

    private CompletableFuture<String> fetchById(Long id) {
        CompletableFuture<String> …
Run Code Online (Sandbox Code Playgroud)

java nonblocking completable-future

5
推荐指数
1
解决办法
6662
查看次数

wiremock java api - 表单数据形式的存根请求主体(不是字符串,也不是 json)

正如标题所说,我必须以表单数据的形式存根带有请求正文的发布请求。没有 json、字符串或 xml。我正在使用 junit 和 wiremock 的 java api。

我正在做如下事情:

 wireMockServer.stubFor(post(urlEqualTo(MY_URI))
               .withRequestBody(
          // how do I stub a body in form data format??                  
          ).willReturn(aResponse().withStatus(200).withHeader("content-type", "application/json").withBody(expectedBody))
        );
Run Code Online (Sandbox Code Playgroud)

关于在代码中放置什么而不是注释的任何想法?

谢谢!

java wiremock

4
推荐指数
1
解决办法
2039
查看次数

标签 统计

java ×2

completable-future ×1

nonblocking ×1

wiremock ×1