You are using org.springframework.jdbc.datasource.DriverManagerDataSource
which according documentation is not an actual connection pool
http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/jdbc/datasource/DriverManagerDataSource.html.
I don't know this class, maybe it gives information about established connections by enabling a higher log-level.
Otherwise I suggest you to use another Datasource with connection pooling,
most of it's modern implementations provide some mechanism to monitor the amount of used connections
(typically over JMX).
Maybe you can also check the number of established connections out from your postgres database?
Last but not least, you as application developer should have control about the number concurrent sessions you use(once you begin a transaction the connection get wired to the session and cannot be shared to others sessions anymore).
Maybe you forget to close sessions in your application, which you don't use anymore?