JndiLookupFailureException:JndiObjectTargetSource未能获得新的目标对象

问题描述:

从WAS 8.5.5.10中的应用程序连接Db2数据库时,我遇到了异常。我的应用程序是在1.8中构建的,我在web.xml中提到了db2配置细节。指导我解决这个问题。JndiLookupFailureException:JndiObjectTargetSource未能获得新的目标对象

org.springframework.jndi.JndiLookupFailureException: JndiObjectTargetSource failed to obtain new target object; nested exception is com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. [Root exception is javax.xml.stream.FactoryConfigurationError: Provider javax.xml.stream.XMLInputFactory could not be instantiated: java.util.ServiceConfigurationError: javax.xml.stream.XMLInputFactory: Provider com.ctc.wstx.stax.WstxInputFactory not a subtype] 
     at org.springframework.jndi.JndiObjectTargetSource.getTarget(JndiObjectTargetSource.java:139) 
     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:182) 
     at com.sun.proxy.$Proxy27.getConnection(Unknown Source) 
     at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) 
     at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) 
     at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:572) 
     at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:811) 
     at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:867) 
     at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:875) 

的web.xml

<resource-ref id="FrontEnd_DataSource"> 
     <description>DB2 database</description> 
     <res-ref-name>db2_DB</res-ref-name> 
     <res-type>javax.sql.DataSource</res-type> 
     <res-auth>Container</res-auth> 
</resource-ref> 

任何人有这样的想法?

[根异常是javax.xml.stream.FactoryConfigurationError:提供javax.xml.stream.XMLInputFactory无法实例:java.util.ServiceConfigurationError:javax.xml.stream.XMLInputFactory:提供com.ctc.wstx .stax.WstxInputFactory不是子类型]

您可能需要将Websphere升级到8.5.5.12或更高版本。见PI79731