WEB.XML中Lisenter与Servlet的加载顺序
来源:互联网 发布:阿里云 表单 编辑:程序博客网 时间:2024/06/18 04:17
问题描述:
同事在测试环境升级一个定时任务的listener后,启动系统出现找不到数据源的错误。
DBDataSource platformDataSource has not registed !
分析过程:
去掉这个listener后,程序可以正常启动。数据源也可以正常连接。说明中间件的数据源配置没问题。
问题出在新添加到监听上。仔细看过这个新添的监听,发现这个listener用到了数据源。
而litener在加载时数据源还没有建立连接。所以出现数据源找不到的错误。
解决办法:
由于listener优先与servlet加载。而无法在web.xml中指定listener的加载顺序。
只好将listener改为servlet,并在web.xml中指定此servlet最后加载。
<load-on-startup>9</load-on-startup>,问题解决。
错误日志:
**** DBDataSource platformDataSource has not registed!
java.lang.IllegalArgumentException: **** DBDataSource platformDataSource has not registed!
at com.sinosoft.sysframework.reference.DBFactory.getDB(DBFactory.java:180)
at com.sinosoft.sysframework.reference.DBManager.getDataSource(DBManager.java:42)
at com.sinosoft.sysframework.reference.DBManager.open(DBManager.java:62)
at com.sinosoft.platform.bl.facade.BLUtiPlatConfigFacadeBase.findByPrimaryKey(BLUtiPlatConfigFacadeBase.java:132)
at com.sinosoft.platform.ui.model.UtiPlatConfigFindByPrimaryKeyCommand.executeCommandStringS
tringImpl(UtiPlatConfigFindByPrimaryKeyCommand.java:42)
at com.sinosoft.platform.ui.model.UtiPlatConfigFindByPrimaryKeyCommand.executeCommand(UtiPlatConfigFindByPrimaryKeyCommand.java:75)
at com.sinosoft.sysframework.web.model.BaseCommand.commandFacade(BaseCommand.java:13)
at com.sinosoft.sysframework.web.model.BaseSLSBCommandServerDelegate.execute(BaseSLSBCommandServerDelegate.java:9)
at com.sinosoft.sysframework.web.model.BaseCommand.execute(BaseCommand.java:9)
at com.sinosoft.datacheck.util.TaskManager.getStartDateTime(TaskManager.java:56)
at com.sinosoft.datacheck.util.TaskManager.contextInitialized(TaskManager.java:25)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3854)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4348)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:732)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
- WEB.XML中Lisenter与Servlet的加载顺序
- web.xml中servlet, filter, listenr的加载顺序
- web.xml中listener、 filter、servlet等的加载顺序
- web容器中web.xml中Servlet、Filter、context-param、listener的加载顺序
- Java WEB 工程 web.xml 文件中 context-param、listener、filter 和 servlet 的加载顺序
- web.xml中context-param,listener,filter,servlet加载顺序
- web.xml中 listener、filter、servlet等 加载顺序
- web.xml中servlet, bean, filter, listenr 加载顺序汇总
- web.xml中context-param,listener,filter,servlet加载顺序
- web.xml中servlet, bean, filter, listenr 加载顺序问题
- web.xml中 listener、filter、servlet等 加载顺序
- web.xml中 listener、filter、servlet等 加载顺序
- web.xml中 listener、filter、servlet等 加载顺序
- web.xml 中listener filter servlet 加载顺序
- web.xml中listener, filter, servlet加载顺序
- web.xml中servlet, bean, filter, listenr 加载顺序
- web.xml文件中配置(servlet, spring, filter, listenr)的加载顺序 研究
- web.xml文件中配置(servlet, spring, filter, listenr)的加载顺序研究
- AccessDataSource控件的特殊参数
- JAVA程序员面试必须掌握的33个问题
- TF卡和SD卡
- 重复引用发生的错误
- 双击dsw,打开一个新的vc
- WEB.XML中Lisenter与Servlet的加载顺序
- c 实现 md5 的算法,只由代码,不做解释.抄的网上的留着备用的.
- 打包NET框架的N种方式大比较!(.Net程序脱离.net framework框架)
- 《怪诞心理学》小评
- Samsung手机常用工程命令
- 深入研究嵌入式操作系统的绝佳教材
- VS2005中无法启动调试
- 张华平老师和王斌老师的博客
- 《Delphi下深入Windows核心编程》(附录A Delphi编译指令说明)