Ошибка в связи с PostgreSQL 12 при создании источника данных - PullRequest
0 голосов
/ 10 января 2020

Я получаю исключение при подключении к PostgreSQL 12, создавая источник данных через консоль администратора wildfly.

Он отлично работает на моей другой машине с PostgreSQL 9.5. и, кажется, работает нормально, когда я подключаюсь без источника данных.

  try (Connection conn = DriverManager.getConnection(
            "jdbc:postgresql://127.0.0.1:5432/registrar", "postgres", "postgres")) {

        if (conn != null) {
            System.out.println("Connected to the database!");

            Statement statement = conn.createStatement();
            ResultSet rs = statement.executeQuery("Select * FROM public.user LIMIT 10");

            while(rs.next())
                System.out.println(rs.getString(2));

        } else {
            System.out.println("Failed to make connection!");
        }

Но когда я создаю источник данных, подобный этому:

enter image description here и это исключение, которое я получаю, когда пытаюсь проверить соединение из пользовательского интерфейса.

Request
{
    "address" => [
        ("subsystem" => "datasources"),
        ("data-source" => "RegistrarDS")
    ],
    "operation" => "test-connection-in-pool"
}

Response

Internal Server Error
{
    "outcome" => "failed",
    "failure-description" => "WFLYJCA0040: failed to invoke operation: WFLYJCA0047: Connection is not valid",
    "rolled-back" => true,
    "response-headers" => {"process-state" => "reload-required"}
}

Что-нибудь изменилось в PostgreSQL 12? В чем может быть проблема?

1 Ответ

0 голосов
/ 10 января 2020

Может быть проблема с классом источника данных, определенным в вашем драйвере, как описано здесь на Issue.redhat.com

Если класс источника данных определен, тогда требуется приоритет создания источника данных и, как таковой, он может использовать только свойства соединения.

Поскольку для всех драйверов не существует единого свойства connection-url, необходимо использовать свойства соединения, если вы определяете источник данных class.

Еще одна вещь, которую вы можете попробовать, - установить «Свойства соединения» вместо «URL-адрес соединения» и убедиться, что вы используете правильный / последний файл JAR драйвера.

Также проверьте журналы Postgresql для получения дополнительной информации об исключении ..

-> https://www.postgresql.org/about/news/2000/

...