Duplicate Proxy.newProxyInstance calls during PGXAConnection.getConnection?
От | Andy Fan |
---|---|
Тема | Duplicate Proxy.newProxyInstance calls during PGXAConnection.getConnection? |
Дата | |
Msg-id | CAKU4AWog5YvO7wOBQ7nyGhV5JAm2s9sLoANGJMuG6BjJbDPAKA@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: Duplicate Proxy.newProxyInstance calls during PGXAConnection.getConnection?
|
Список | pgsql-jdbc |
In the PGXAConnection.GetConnection() [1], we can see the below code:
@Override public Connection getConnection() throws SQLException { // the first time ConnectionHandler has been created. Connection conn = super.getConnection();
// When we're outside an XA transaction, autocommit // is supposed to be true, per usual JDBC convention. // When an XA transaction is in progress, it should be // false. if (state == State.IDLE) { conn.setAutoCommit(true); }
/* * Wrap the connection in a proxy to forbid application from fiddling with transaction state * directly during an XA transaction */ // ConnectionHandler is created again here. ConnectionHandler handler = new ConnectionHandler(conn); return (Connection) Proxy.newProxyInstance(getClass().getClassLoader(), new Class[]{Connection.class, PGConnection.class}, handler); }
|
However I think the proxy has already been created at the first line: super.getConnection(),
and then it is created later. Is it a duplication?
[1] https://github.com/pgjdbc/pgjdbc/blob/master/pgjdbc/src/main/java/org/postgresql/xa/PGXAConnection.java#L86
--
Best Regards
Andy Fan
В списке pgsql-jdbc по дате отправления: