Re: [JDBC] Statement is still active at the back-end even after closing
От | Dave Cramer |
---|---|
Тема | Re: [JDBC] Statement is still active at the back-end even after closing |
Дата | |
Msg-id | CADK3HHLCXexO7BkxqNvsQxsxvjMPU7tVWir4xDJ7oZPXhZ-4yA@mail.gmail.com обсуждение исходный текст |
Ответ на | [JDBC] Statement is still active at the back-end even after closing (Syam Pillai <syam@engravgroup.com>) |
Ответы |
Re: [JDBC] Statement is still active at the back-end even after closing
Re: Statement is still active at the back-end even after closing |
Список | pgsql-jdbc |
Seems pretty normal to me ? You have a sleep in there which is keeping it alive. what happens if you check it after the close ?
On 31 August 2017 at 04:50, Syam Pillai <syam@engravgroup.com> wrote:
Not sure if this was reported earlier.I am using PostgreSQL 9.5.8 and JDBC driver 42.1.4If I execute the following statements and at Position #1, if I check the pg_stat_activity from another connection (let's say from the psql application), I can see that the 'Statement s' is still active:try {Class.forName("org.postgresql.Driver"); Connection connection = null;connection = DriverManager.getConnection("jdbc:postgresql://localhost: 5432/cadup","user", "password"); Statement s = connection.createStatement();ResultSet rs =s.executeQuery("SELECT 1 FROM core.Person");if(rs.next()) {System.err.println("Yes, we got a row!");} else {System.err.println("No rows found");}s.close();Thread.sleep(10000); // Position #1connection.close();} catch(Exception e) {e.printStackTrace();}===============Query executed to check the activity:SELECT pid, datname, now() - pg_stat_activity.query_start AS duration, state, queryFROM pg_stat_activityWHERE now() - pg_stat_activity.query_start > interval '1 second';Output from psql:pid | datname | duration | state | query-------+---------+-----------------+-------+---------------- ----------- 17775 | xxxx | 00:00:07.481294 | idle | SELECT 1 FROM core.Person
В списке pgsql-jdbc по дате отправления: