Do we need to explcitly set autocommit to true before closing the connection ? Considering that the connection object is going to be released to the pool, would not having the statement conn.setAutoCommit(true); have any undesirable effect ?
By default you would assume that AutoCommit was on. I assume that you set it to false earlier in your code to perform a transaction. So, assuming that conn.close() in this case just returns the connection to the pool, rather than actually closing it, if you didn't setAutoCommit(true) it would still be false.
The real question is, what does Pool.getConnection() do? Does it reinitialise the connection before allocating to you or does it just give it to you as it is? Well, obviously good pool code would guarantee the connection in a consistent state, and I think it's fair to assume that. Check the documentation for your peace of mind.