使用线程池解决了jdbc直连数据库,连接数不断上升不释放的问题。
一开始使用c3p0线程池,只导入了包并配置了hibernate.cfg.xml,运行时报错,NoSuchMehod。对应的方法是C3P0MessageLogger.connectionProperties。对应的包是hibernate-c3p0.xxxx.final.jar,使用的版本是4.3.6。看了包的源码,其中对应的错误行调用了上述方法,调用者是jboss.logging.Logger的对象,我找到了jboss对应包的源码,但是给对应jar包attach source之后仍找不到该方法。
后来改用proxool线程池,导入包并配置hibernate.cfg.xml和proxool.xml之后成功运行。