Почему этот фрагмент Java все еще кэширует результаты, используя Java Kit для Prismic?

Я использую java-kit 2.0.0

public static void main(String[] args) throws Exception {


    Api api = Api.get("https://xxxx.prismic.io/api","MY SECRET ACCESS KEY",
                  new Cache.NoCache(), new Logger.NoLogger());

    while (true) {
            Document d = api.getByID("Wl3k_CkAAKG2yHTV");
            String h = d.getStructuredText("post.post_body").asHtml(null);
            System.out.println(h);
            Thread.sleep(2000);
    } 
}

Я запускаю эту программу и вижу ожидаемый результат в соответствии с условиями в письменном зале для этого фрагмента содержимого, напечатанного на Stdout. Все идет нормально. Затем я иду и изменяю содержимое в комнате для писем, сохраняю и публикую его. Однако приведенный выше код по-прежнему печатает старую версию - как если бы она была кэширована в объекте Api. Изучая исходный код java-kit, я определил, что действительно, передача в Cache.NoCache конструктору Api должна означать, что в работе нет кэша, и каждый запрос api.getByID должен отправляться в Prismic для сбора свежих данных.

Если я перемещаю декларацию Api в цикле while, все работает как положено, и я вижу, что измененный контент проходит через. Это то, что мы должны ожидать, поскольку кэш Api каждый раз переинициализируется.

Я что-то здесь упускаю или это действительно ошибка?

0 ответов

Другие вопросы по тегам