Proxool Provider unable to load JAXP configurator file: proxoolconf.xml

10 篇文章 0 订阅
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
%%%% Error Creating SessionFactory %%%%
org.hibernate.HibernateException: Proxool Provider unable to load JAXP configurator file: proxoolconf.xml
	at org.hibernate.connection.ProxoolConnectionProvider.configure(ProxoolConnectionProvider.java:125)
	at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124)
	at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56)
	at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:366)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:60)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1881)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1174)
	at dao.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:31)
	at dao.BaseHibernateDAO.getSession(BaseHibernateDAO.java:13)
	at work.ConnMysql.main(ConnMysql.java:30)
Caused by: org.logicalcobwebs.proxool.ProxoolException: Parsing failed.
	at org.logicalcobwebs.proxool.configuration.JAXPConfigurator.configure(JAXPConfigurator.java:91)
	at org.logicalcobwebs.proxool.configuration.JAXPConfigurator.configure(JAXPConfigurator.java:107)
	at org.hibernate.connection.ProxoolConnectionProvider.configure(ProxoolConnectionProvider.java:120)
	... 9 more
Caused by: org.logicalcobwebs.proxool.ProxoolException: Attempt to register duplicate pool called 'DBPool'
	at org.logicalcobwebs.proxool.configuration.XMLConfigurator.endElement(XMLConfigurator.java:198)
	at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
	at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at javax.xml.parsers.SAXParser.parse(Unknown Source)
	at org.logicalcobwebs.proxool.configuration.JAXPConfigurator.configure(JAXPConfigurator.java:87)
	... 11 more
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not read mappings from resource: dao/Day.hbm.xml
	at org.hibernate.cfg.Configuration.addResource(Configuration.java:485)
	at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
	at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
	at dao.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:69)
	at dao.HibernateSessionFactory.getSession(HibernateSessionFactory.java:53)
	at dao.BaseHibernateDAO.getSession(BaseHibernateDAO.java:13)
	at work.ConnMysql.main(ConnMysql.java:30)
Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping dao.Day
	at org.hibernate.cfg.Mappings.addClass(Mappings.java:118)
	at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:154)
	at org.hibernate.cfg.Configuration.add(Configuration.java:386)
	at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
	at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
	... 9 more
Exception in thread "main" java.lang.NullPointerException
	at work.ConnMysql.main(ConnMysql.java:30)


以上是在配置proxool连接池的时候遇到的问题。

以下是从http://hi.baidu.com/9prior/blog/item/ad3565cab53e214ef31fe7a1.html转载来的:

因为是在原本的工程上添加一个hibernate的插入测试,我不知道原来工程中已经有一个类是用来开连接池的,一启动服务器就可用自动打开。而我啥啥的在jsp页面里面重复的写了SessionFactory sf = new Configuration().configure()
       .buildSessionFactory();

这些,导致重新打开连接,慢不用说,还报出了错。

应该利用那个已写好的类来操作数据库的

以下附录在晚上找到的其他相关解决方式;

近日使用hibernate+proxool连接池时,总是报异常:
Proxool Provider unable to load JAXP configurator file: proxool.xml
org.logicalcobwebs.proxool.ProxoolException: Parsing failed.

我在网上查了N多的文章,总是解决不了问题.最后把web.xml中的以下配置删除,竟然好了,不知是什么原因.有知道原因的朋友,请留言! 先谢了!

<servlet>
    <servlet-name>ServletConfigurator</servlet-name>
    <servlet-class>
        org.logicalcobwebs.proxool.configuration.ServletConfigurator
    </servlet-class>
    <init-param>
        <param-name>xmlFile</param-name>
        <param-value>WEB-INF/classes/proxool.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>


补充:
    解决hibernate和jdbc不能同时使用proxool的问题:
      <property name="hibernate.proxool.xml">proxool.xml</property>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
       <property name="hibernate.proxool.existing_pool">true</property>   //主要是加上此行既可
    <property name="show_sql">true</property>

==============================================================================

我就是通过删除build语句,就修改成功了。。(⊙﹏⊙b汗,折腾了一晚上就因为这一句话。。。)

当然,这也是和C3P0一个区别吧。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
proxool.xml 是一个配置文件,用于配置 Proxool 数据库连接池。Proxool 是一个开源的 Java 数据库连接池,它允许应用程序在运行时动态地管理数据库连接,以提高应用程序的性能和可靠性。 proxool.xml 文件包含以下信息: 1. 数据库驱动程序的类名和连接字符串。 2. 数据库连接池的配置信息,例如最大连接数、最小连接数、最大空闲时间等。 3. 用户名和密码等连接数据库所需的凭证信息。 proxool.xml 文件的示例代码如下: ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE proxool PUBLIC "-//mikebob.net/proxool//DTD Proxool//EN" "proxool.dtd"> <proxool> <driver-url>jdbc:mysql://localhost/mydb</driver-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user>myuser</user> <password>mypassword</password> <maximum-connection-count>50</maximum-connection-count> <minimum-connection-count>10</minimum-connection-count> <simultaneous-build-throttle>20</simultaneous-build-throttle> <house-keeping-test-sql>select 1</house-keeping-test-sql> <house-keeping-sleep-time>30000</house-keeping-sleep-time> </proxool> ``` 其中,`driver-url`、`driver-class`、`user`、`password` 分别表示数据库连接字符串、数据库驱动程序的类名、用户名和密码;`maximum-connection-count`、`minimum-connection-count` 分别表示连接池的最大连接数和最小连接数;`simultaneous-build-throttle` 表示同时建立连接的最大数目;`house-keeping-test-sql` 表示定期检查连接是否可用的 SQL 语句;`house-keeping-sleep-time` 表示定期检查连接的时间间隔。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值