Как передать контекст в Твиттере Будущее в Java - PullRequest
0 голосов
/ 14 декабря 2018

Используя Twitter Future в Java, как я могу получить контекст в одном созданном Future доступном по цепочке map s?

Я попробовал следующее, используя Contexts.local():

LocalContext.Key<String> key = Contexts.local().newKey();
Contexts.local().let(key, "SomeValue", func(() -> {
    System.out.println("inside let binding " + Contexts.local().get(key));
    return FuturePools.unboundedPool().apply(() -> {
        System.out.println("inside let binding but in other thread " + Contexts.local().get(key));
        return "initial future";
    });
})).map(v -> {
    // How to get the context here? The line below prints None
    System.out.println("outside let binding " + Contexts.local().get(key));
    return "mapped future";
});

К сожалению, заданное значение больше не доступно в лямбда-выражении, переведенном в map.Что мне делать, чтобы он там тоже был доступен?И как мне сделать это в Java?

Например, в Twitter Promise реализация map делает Local.save(), но я не вижу способа добавить значения к Local.

...