应用通过JNDI访问WAS数据源时Spring中datasource初始化失败问题的解决办法
2010-12-09 19:47
811 查看
Spring应用部署到WAS上通过JNDI来访问WAS数据源是出错,报如下的错误
Stack Dump = javax.naming.NoInitialContextException: Cannot instantiate class: org.ow2.carol.jndi.spi.MultiOrbInitialContextFactory [Root exception is java.lang.ClassNotFoundException: org.ow2.carol.jndi.spi.MultiOrbInitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:669)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:259)
at javax.naming.InitialContext.init(InitialContext.java:235)
at javax.naming.InitialContext.<init>(InitialContext.java:187)
at com.ibm.ws.runtime.component.EJBContainerImpl.remoteLazyBind(EJBContainerImpl.java:4381)
at com.ibm.ws.runtime.component.EJBContainerImpl.install(EJBContainerImpl.java:2960)
at com.ibm.ws.runtime.component.EJBContainerImpl.start(EJBContainerImpl.java:3730)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1250)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1140)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:569)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:819)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921)
at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2100)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
Caused by: java.lang.ClassNotFoundException: org.ow2.carol.jndi.spi.MultiOrbInitialContextFactory
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:163)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:57)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:666)
... 14 more
或者
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Cannot instantiate class: org.ow2.carol.jndi.spi.MultiOrbInitialContextFactory [Root exception is java.lang.ClassNotFoundException: org.ow2.carol.jndi.spi.MultiOrbInitialContextFactory]
错误
是因为WAS容器和应用中jta.jar报冲突,删除应用中的jta.jar并从WAS卸载所有应用,重启WAS,重新这些没有包含jta.jar的新应用就可以。
参考:
http://forum.springsource.org/showthread.php?t=44441 http://www.ibm.com/developerworks/websphere/techjournal/0609_alcott/0609_alcott.html
Stack Dump = javax.naming.NoInitialContextException: Cannot instantiate class: org.ow2.carol.jndi.spi.MultiOrbInitialContextFactory [Root exception is java.lang.ClassNotFoundException: org.ow2.carol.jndi.spi.MultiOrbInitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:669)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:259)
at javax.naming.InitialContext.init(InitialContext.java:235)
at javax.naming.InitialContext.<init>(InitialContext.java:187)
at com.ibm.ws.runtime.component.EJBContainerImpl.remoteLazyBind(EJBContainerImpl.java:4381)
at com.ibm.ws.runtime.component.EJBContainerImpl.install(EJBContainerImpl.java:2960)
at com.ibm.ws.runtime.component.EJBContainerImpl.start(EJBContainerImpl.java:3730)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1250)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1140)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:569)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:819)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921)
at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2100)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
Caused by: java.lang.ClassNotFoundException: org.ow2.carol.jndi.spi.MultiOrbInitialContextFactory
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:163)
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:57)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:666)
... 14 more
或者
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Cannot instantiate class: org.ow2.carol.jndi.spi.MultiOrbInitialContextFactory [Root exception is java.lang.ClassNotFoundException: org.ow2.carol.jndi.spi.MultiOrbInitialContextFactory]
错误
是因为WAS容器和应用中jta.jar报冲突,删除应用中的jta.jar并从WAS卸载所有应用,重启WAS,重新这些没有包含jta.jar的新应用就可以。
参考:
http://forum.springsource.org/showthread.php?t=44441 http://www.ibm.com/developerworks/websphere/techjournal/0609_alcott/0609_alcott.html
相关文章推荐
- 解决内网通过代理服务器访问外网部署WebService报错问题“请求因 HTTP 状态 407 失败” - 转载
- 利用Spring的AbstractRoutingDataSource解决多数据源的问题
- 关于通过http请求访问Linux下的ftp的问题以及解决办法
- 利用Spring的AbstractRoutingDataSource解决多数据源的问题
- spring动态创建切换多数据源问题分析与解决办法
- 利用Spring的AbstractRoutingDataSource解决多数据源的问题
- aspx网站访问IIS 元数据库失败问题解决办法 .
- asp + Access 常见的数据库访问失败问题 Microsoft JET Database Engine 错误 '80004005' 解决办法
- spring 解决多数据源问题,主要的继承类为AbstractRoutingDataSource
- 解决内网通过代理服务器访问外网部署WebService报错问题“请求因 HTTP 状态 407 失败”
- 解决linux部署项目后,第一次访问初始化数据源的时候很慢的问题
- 详解利用Spring的AbstractRoutingDataSource解决多数据源的问题
- 利用Spring的AbstractRoutingDataSource解决多数据源的问题
- 解决内网通过代理服务器访问外网部署WebService报错问题“请求因 HTTP 状态 407 失败”
- asp + Access 常见的数据库访问失败问题 Microsoft JET Database Engine 错误 '80004005' 解决办法
- 为电脑司版GHOST XP安装IIS 还有在IIS里面打不开网站的解决办法 访问IIS 元数据库失败的问题
- 利用Spring的AbstractRoutingDataSource解决多数据源的问题
- asp + Access 常见的数据库访问失败问题 Microsoft JET Database Engine 错误 '80004005' 解决办法
- 利用Spring的AbstractRoutingDataSource解决多数据源的问题
- 通过Nginx访问后端应用,ERR_CONTENT_LENGTH_MISMATCH 问题的解决