数据库连接池泄露问题
最近因为上线,通宵了N晚,其中最让人头疼的问题就是程序里面的数据库连接池疯狂泄露问题。
1.由于程序是以webservice的方式发布,所以一般在endpoint层是没有配置事务,依靠service层的事务来管理所有的链接,不知道哪个NB人士在service层transaction结束后,又在endpoint层 起一个无人管理的session,而且还不是一个。
于是瞬间连接池就满了,jboss就挂了...............
2. 然后就是随机出现transaction is not active的诡异异常,这种异常的出现大部分是伴随着在高并发的时候,然后程序出现unchecked的异常,例如脏数据引起的nullpointer,然后不知道为啥spring 没帮你关掉,jboss想帮你关 又没关掉.....太悲剧了......看来还要继续通啊......