Quarkus Reactive PostgreSQL Vert.x - Невозможно разрешить метод thenCompose в запросе - PullRequest
0 голосов
/ 13 июля 2020

У меня эта проблема независимо от того, какую зависимость я импортирую. Я следовал руководству в https://quarkus.io/guides/reactive-postgres-client. Использование другой зависимости - например, не от Quarkus - тоже не решает эту проблему. Это в этом фрагменте кода:

private void initDatabase() {
    client.query("DROP TABLE IF EXISTS fruits")
            .thenCompose(r -> client.query("CREATE TABLE fruits (id SERIAL PRIMARY KEY, name TEXT NOT NULL)"))
            .thenCompose(r -> client.query("INSERT INTO fruits (name) VALUES ('Orange')"))
            .thenCompose(r -> client.query("INSERT INTO fruits (name) VALUES ('Pear')"))
            .thenCompose(r -> client.query("INSERT INTO fruits (name) VALUES ('Apple')"))
            .toCompletableFuture()
            .join();
}

1 Ответ

1 голос
/ 15 июля 2020

Эта страница больше не действительна, я не уверен, почему она не была удалена с сайта. Вот обновленный вариант: https://quarkus.io/guides/reactive-sql-clients

С Quarkus в большинстве случаев вы должны использовать io.vertx.mutiny.pgclient.PgPool.

Реализация метода:

private void initdb() {
    client.query("DROP TABLE IF EXISTS fruits").execute()
            .flatMap(r -> client.query("CREATE TABLE fruits (id SERIAL PRIMARY KEY, name TEXT NOT NULL)").execute())
            .flatMap(r -> client.query("INSERT INTO fruits (name) VALUES ('Kiwi')").execute())
            .flatMap(r -> client.query("INSERT INTO fruits (name) VALUES ('Durian')").execute())
            .flatMap(r -> client.query("INSERT INTO fruits (name) VALUES ('Pomelo')").execute())
            .flatMap(r -> client.query("INSERT INTO fruits (name) VALUES ('Lychee')").execute())
            .await().indefinitely();
}
...