Есть ли способ заставить запросы Panache работать в отладчике с помощью функции IntelliJ IDEA «Evaluate Query»? - PullRequest
0 голосов
/ 29 мая 2020

Я начал изучать Quarkus и Panache через несколько дней после go, и до сих пор это было потрясающе. Однако я не могу понять, как запускать запросы Panache с помощью параметра «Evaluate Query» в IntelliJ IDEA.

Если я запускаю свое демонстрационное приложение с использованием ./mvnw compile quarkus:dev, все определенные конечные точки работают правильно и отвечают ожидаемый ответ. Например, мой ArticleResource определяет такой метод:

@Path("/article")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class ArticleResource {
    @GET
    public List<Article> getAll(@QueryParam @DefaultValue("0") Integer page) {
        return Article.findAll().page(Page.of(page, 2)).list();
    }
}

Нет проблем с данными, которые он возвращает при запросе с использованием curl или http. Однако, если я подключаю отладчик к приложению, приостанавливаю выполнение на точке останова в методе getAll и использую функцию «Evaluate Expression» в выражении Article.findAll().page(Page.of(page, 2)).list() вместо сущностей базы данных, возникает исключение.

Тип исключения: java.lang.IllegalStateException с подробным сообщением This method is normally automatically overridden in subclasses: did you forget to annotate your entity with @Entity?.

Я думаю, что подробное сообщение - отвлекающий маневр, потому что моя Article сущность аннотирована аннотацией @Entity для конечно, и соответствующая таблица базы данных также создается. Я пробовал два способа подключить отладчик к моему приложению:

  1. Определить собственный метод public static void main и запустить приложение как обычное Java приложение из IDEA.
  2. Иметь IDEA выполнить цели compile quarkus:dev Maven и определить подключение к удаленному отладчику.

Оба этих подхода приводят к возникновению одного и того же исключения. Также не имеет значения, какие запросы Panache я пытаюсь оценить, даже простой вызов Article.listAll() завершается неудачно с тем же исключением.

Я искал документацию по таким темам, как инструменты Maven, интеграция IDE и Panache , но не нашел упоминания об этой проблеме. При поиске деталей исключения большинство результатов поиска относятся к людям, у которых возникает эта проблема при запуске набора тестов, не связанных с отладчиком.

JDK, который я пытался использовать, - это GraalVM EE 20.1.0 (на основе OpenJDK 11).

Надеюсь, мое объяснение было понятно, и спасибо за понимание этого вопроса!

...