您的位置:首页 > 编程语言 > Java开发

应用通过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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐