`
dsna
  • 浏览: 99593 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

org.logicalcobwebs.proxool.ProxoolException: Attempt to refer to a unregistered

阅读更多

Spring3 下使用proxool做连接池的时候出现异常

ERROR 2010-07-06 12:27:10,328 [org.logicalcobwebs.proxool.ProxoolDriver] [Problem]
org.logicalcobwebs.proxool.ProxoolException: Attempt to refer to a unregistered pool by its alias 'ums'
 at org.logicalcobwebs.proxool.ConnectionPoolDefinition.doChange(ConnectionPoolDefinition.java:246)
 at org.logicalcobwebs.proxool.ConnectionPoolDefinition.<init>(ConnectionPoolDefinition.java:143)
 at org.logicalcobwebs.proxool.ProxoolFacade.registerConnectionPool(ProxoolFacade.java:96)
 at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:77)
 at java.sql.DriverManager.getConnection(DriverManager.java:582)
 at java.sql.DriverManager.getConnection(DriverManager.java:154)

 原因:

org.springframework.web.context.ContextLoaderListener 加载先于proxool

 

 解决办法:将proxool 也改成listener加载并先于spring

由于proxool 还没有listener的实现,所以自己写了一个以listener方式加载proxool 的实现的补丁proxool-listenerCfg.jar

 

下载补丁修改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/proxool.xml</param-value>   
        </init-param>   
        <load-on-startup>1</load-on-startup>   
    </servlet>  

 改为:

	<context-param>
		<param-name>proxoolConfigLocation</param-name>
		<param-value>WEB-INF/proxool.xml</param-value>
	</context-param>
	<listener>
		<listener-class>org.logicalcobwebs.proxool.configuration.ListenerConfigurator</listener-class>
	</listener>
	<listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 	 </listener>

 

分享到:
评论
6 楼 zifangsky 2015-11-26  
非常感谢,问题解决了,附上一份我的web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>   
     
<!-- proxool改成了以listener方式启动,加载了一个自定义的 ProxoolListener.jar -->
<context-param> 
    <param-name>proxoolConfigLocation</param-name> 
    <param-value>WEB-INF/classes/proxool.xml</param-value> 
</context-param> 
<listener> 
    <listener-class>org.logicalcobwebs.proxool.configuration.ListenerConfigurator</listener-class> 
</listener> 
<listener> 
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener>
 
<!-- spring -->
  <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>WEB-INF/classes/applicationContext.xml</param-value>
  </context-param> 
  <!-- 指定以Listener方式启动 -->
  <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>   

<!-- 以下3项参数与log4j的配置相关 -->   
  <context-param> 
        <param-name>log4jConfigLocation</param-name> 
        <param-value>WEB-INF/classes/log4j.properties</param-value> 
    </context-param> 
    <!--Spring默认刷新Log4j配置文件的间隔,单位为millisecond--> 
    <context-param> 
        <param-name>log4jRefreshInterval</param-name> 
        <param-value>60000</param-value> 
    </context-param> 
    <!-- Web 项目 Spring 加载 Log4j 的监听 -->
    <listener> 
        <listener-class> 
            org.springframework.web.util.Log4jConfigListener 
        </listener-class> 
    </listener>  

<!-- struts2 -->
  <filter>
  <filter-name>struts2</filter-name>
  <filter-class>
  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  </filter-class>
  </filter>
  <filter-mapping>
     <filter-name>struts2</filter-name>
     <url-pattern>/*</url-pattern>
  </filter-mapping>   

</web-app>
5 楼 svygh123 2014-03-03  
方法很好.帮我解决了大麻烦.多谢楼主
4 楼 zoutuo 2011-04-03  
我在访问数据库的时候还是出现这个问题啊!
Attempt to refer to a unregistered pool by its alias 'xxx'
我真无语了!
3 楼 dsna 2010-08-04  
lian 写道
360913 [HouseKeeper] WARN proxool.DbPool  - #0002 was active for 357640 milliseconds and has been removed automaticaly. The Thread responsible was named 'main'.
430792 [ajp-10405-2] WARN util.JDBCExceptionReporter  - SQL Error: 0, SQLState: 08003
430792 [ajp-10405-2] ERROR util.JDBCExceptionReporter  - No operations allowed after connection closed.
org.springframework.dao.DataAccessResourceFailureException: could not execute query; nested exception is org.hibernate.exception.JDBCConnectionException: could not execute query

大牛知道这个是什么错吗?引用的是你的jar文件,加载成功了,但是总是报这个错!

proxool.xml配置是否正确
<?xml version="1.0" encoding="UTF-8"?>
<proxool-config>
	<proxool>
		<alias>phs</alias>
		<driver-url>jdbc:db2://192.168.12.22:50000/PHSDB</driver-url>
		<driver-class>com.ibm.db2.jcc.DB2Driver</driver-class>
		<driver-properties>
			<property name="user" value="phs" />
			<property name="password" value="phs6yhn7ujm" />
		</driver-properties>
		<house-keeping-sleep-time>90000</house-keeping-sleep-time>
		<maximum-new-connections>100</maximum-new-connections>
		<maximum-active-time>4000</maximum-active-time>		
		<prototype-count>5</prototype-count>
		<maximum-connection-count>10</maximum-connection-count>
		<minimum-connection-count>5</minimum-connection-count>
	</proxool>
</proxool-config>
2 楼 lian 2010-08-02  
360913 [HouseKeeper] WARN proxool.DbPool  - #0002 was active for 357640 milliseconds and has been removed automaticaly. The Thread responsible was named 'main'.
430792 [ajp-10405-2] WARN util.JDBCExceptionReporter  - SQL Error: 0, SQLState: 08003
430792 [ajp-10405-2] ERROR util.JDBCExceptionReporter  - No operations allowed after connection closed.
org.springframework.dao.DataAccessResourceFailureException: could not execute query; nested exception is org.hibernate.exception.JDBCConnectionException: could not execute query

大牛知道这个是什么错吗?引用的是你的jar文件,加载成功了,但是总是报这个错!
1 楼 kyan54 2010-07-28  
为什么我把你的jar加入后..会出现IO异常啊??

相关推荐

Global site tag (gtag.js) - Google Analytics