[ https://issues.apache.org/jira/browse/VELOCITY-989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17951103#comment-17951103 ]
Francis M Schlimmer commented on VELOCITY-989: ---------------------------------------------- I updated the PR with a fix that I don't love but I can't find a way to do it differently without changing the API of DatabaseObjectsFactory. I updated the factory to return a proxy of Statement and ResultSet that guarantees Statement.getConnection and ResultSet.getStatement behave in a way that will not cause issues. However I would prefer to change DatabaseObjectsFactory.prepareStatement and DatabaseObjectsFactory.releaseStatement to use an explicit wrapper object instead. This would avoid the somewhat hard to follow proxy code and would be a bit more obvious to anyone writing custom implementations of DatabaseObjectsFactory that the original connection and statement are needed rather then relying on Statement.getConnection or ResultSet.getStatement. > Multiple connection leaks in DataSourceResourceLoader > ----------------------------------------------------- > > Key: VELOCITY-989 > URL: https://issues.apache.org/jira/browse/VELOCITY-989 > Project: Velocity > Issue Type: Bug > Reporter: Francis M Schlimmer > Priority: Major > > The first case is in the implementation of FilterReader. It attempts to get a > statement from a result set after closing the result set. This always throws > an exception as it is an invalid operation after closing the result set, > which results in not closing the connection. > The second is in the getResourceReader method. In the happy path a > FilterReader is returned which eventually closes the connection when close is > called. However, if a template is not found, an exception is thrown without > closing the connection. > > Pull request here [https://github.com/apache/velocity-engine/pull/57] > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org For additional commands, e-mail: dev-h...@velocity.apache.org