ServletContextListener在Tomcat中的配置问题
fufan 2007-03-18 11:34:00 我的web.xml配置如下,用的是proxool进行数据库连接:
<servlet>
<servlet-name>proxoolServletConfigurator</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>
<servlet>
<servlet-name>proxoolAdmin</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>proxoolAdmin</servlet-name>
<url-pattern>/proxooladmin</url-pattern>
</servlet-mapping>
<listener>
<listener-class>com.mission.init.SysContextListener</listener-class>
</listener>
在里面配置了一个tomcat监听器,监听器执调用Java的TimerTask执行一个定时任务。未配置监听器的时候tomcat都是可以正常启动,数据库连接池也是建立好了的,但就是配置了这个监听器之后,每次tomcat启动的时候都要报错,出错信息如下:
org.logicalcobwebs.proxool.ProxoolException: Attempt to refer to a unregistered pool by its alias 'Develop'
at org.logicalcobwebs.proxool.ConnectionPoolDefinition.doChange(Connecti
onPoolDefinition.java:250)
at org.logicalcobwebs.proxool.ConnectionPoolDefinition.<init>(Connection
PoolDefinition.java:147)
at org.logicalcobwebs.proxool.ProxoolFacade.registerConnectionPool(Proxo
olFacade.java:96)
at org.logicalcobwebs.proxool.ProxoolDriver.connect(ProxoolDriver.java:7
7)
其中那个Develop是我在proxool.xml中配置的别名,是没有问题的。而且,tomcat也可以启动,也可以正常访问数据库。
经我的分析觉得可能是因为前面那个servlet即数据库连接还没有建立的时候监听器就已经初始化了,因此一直都是报没有注册连接池的错误。
请问这个问题如何解决??tomcat是先执行listner再执行servlet,是这样的么??