Запрет трассировки стека при сбое соединения - PullRequest
0 голосов
/ 21 сентября 2018

В моем соединении с БД трассировка стека для неисправного соединения всегда выводится на терминал, возможно ли отключить это?

try {
    Class.forName("org.postgresql.Driver");
    this.connection = DriverManager.getConnection("jdbc:postgresql://" + getHost() + ":" + getPort() + "/" + getDatabase(), getUser(), getPassword());
} catch (Exception e) {
    // deal with exception
}

В настоящее время локальная БД отключена, поэтому она будетвсегда время и попытаться поймать исключение.

Пример вывода выглядит так:

    Sep 21, 2018 2:07:56 PM org.postgresql.Driver connect
SEVERE: Connection error: 
org.postgresql.util.PSQLException: The connection attempt failed.
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:257)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)
    at org.postgresql.Driver.makeConnection(Driver.java:452)
    at org.postgresql.Driver.connect(Driver.java:254)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at database.psql.PsqlDatabase.connect(PsqlDatabase.java:41)
    at database.DatabaseFactory.getDatabase(DatabaseFactory.java:15)
    at api.acme.AcmeApi.queuePlacementNotifications(AcmeApi.java:101)
    at poller.AcmePoller.run(AcmePoller.java:28)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.SocketTimeoutException: connect timed out
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at org.postgresql.core.PGStream.<init>(PGStream.java:69)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:156)
    ... 11 more

1 Ответ

0 голосов
/ 21 сентября 2018

Это проблема pgjdbc, в классе org.postgresql.core.v3.ConnectionFactoryImpl она была исправлена ​​в этом коммите .

И это исправление быловыпущено в версии 42.2.3 .

Итак, если вы можете обновить библиотеку pgjdbc, приложение будет показывать журналы, только если Logger настроен на уровень FINE.

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