Re: Duplicate Proxy.newProxyInstance calls during PGXAConnection.getConnection?
От | Andy Fan |
---|---|
Тема | Re: Duplicate Proxy.newProxyInstance calls during PGXAConnection.getConnection? |
Дата | |
Msg-id | CAKU4AWq-gwRS5FtVUqv-+vdRqi4HvF-=2gxZSFv-rOhnfWS-WA@mail.gmail.com обсуждение исходный текст |
Ответ на | Duplicate Proxy.newProxyInstance calls during PGXAConnection.getConnection? (Andy Fan <zhihui.fan1213@gmail.com>) |
Список | pgsql-jdbc |
Please forgive me, I was totally wrong here. Sorry for the noise.
On Sun, Mar 26, 2023 at 3:16 PM Andy Fan <zhihui.fan1213@gmail.com> wrote:
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 RegardsAndy Fan
Best Regards
Andy Fan
В списке pgsql-jdbc по дате отправления: