Proxool多次调用打开连接报错记录

在做openfire时,公司需要把数据库链接改用自己的驱动,基于Proxool的。自己在修改完源码的后,总是在第一次调用打开connection的时候没事,关闭后再打开就会报错,最上面的报错信息是

org.logicalcobwebs.proxool.ProxoolException: Parsing failed.

这个真的是很误导人啊!!我还以为是我的proxool配置文件写的有问题,各种删除重写,结果还是不行!

今天单独把它拿出来做个小demo,想看看问题究竟出在哪里,结果还是报这个错。下面还别的出错信息

Caused by: org.logicalcobwebs.proxool.ProxoolException: Attempt to register duplicate pool called 'XX'

这个错误当时我没在意,以为是Parsing failed.导致的,结果在百度的时候看到了对应的翻译,让我恍然大悟!!英语不好害死人啊!duplicate 是重复的意思。异常信息的意思就是  重复注册了'XX'连接池。这说明我的配置文件是好的(废话,不好使第一次也不会成功),第二次打开报错是因为我重复注册了。

看到下面这个帖子

http://www.cnblogs.com/jarrah/archive/2012/05/04/2482200.html

是一种解决办法,但是每次都要重新注册,效率上一定不好,而且感觉也不是正常途径。

后来看到 http://bbs.csdn.net/topics/120083955 里有一个人回复的,“让注册只在初始化时进行。

 

遂修改我的代码,在getConnection的时候 ,JAXPConfigurator.configure(classpath+"proxool.xml", false);

这个方法只第一次加载,以后就不要在加载了!

问题解决!

你可能感兴趣的:(proxool)