Recently, I am going on with a banking program, using Struts + Spring + Hibernate + WebSphere + Maven technology. I often meet with the org.springframework.jndi.TypeMismatchNamingException when I run my problem on the real system. After a long time struggling, I found a approch to this problem.
Description:
Caused by: org.springframework.jdbc.datasource.lookup.DataSourceLookupFailureException: Failed to look up JNDI DataSource with name 'java:comp/env/jdbc/DataSourceName'; nested exception is org.springframework.jndi.TypeMismatchNamingException: Object of type [class com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource] available at JNDI location [java:comp/env/jdbc/DataSourceName] is not assignable to [javax.sql.DataSource]
at org.springframework.jdbc.datasource.lookup.JndiDataSourceLookup.getDataSource(JndiDataSourceLookup.java:47)
at org.springframework.orm.jpa.persistenceunit.PersistenceUnitReader.parsePersistenceUnitInfo(PersistenceUnitReader.java:282)
at org.springframework.orm.jpa.persistenceunit.PersistenceUnitReader.parseDocument(PersistenceUnitReader.java:216)
at org.springframework.orm.jpa.persistenceunit.PersistenceUnitReader.readPersistenceUnitInfos(PersistenceUnitReader.java:139)
at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.readPersistenceUnitInfos(DefaultPersistenceUnitManager.java:294)
at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.preparePersistenceUnitInfos(DefaultPersistenceUnitManager.java:266)
at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.afterPropertiesSet(DefaultPersistenceUnitManager.java:251)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:192)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:291)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1368)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
... 92 more
Caused by: org.springframework.jndi.TypeMismatchNamingException: Object of type [class com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource] available at JNDI location [java:comp/env/jdbc/DataSourceName] is not assignable to [javax.sql.DataSource]
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:180)
at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)
at org.springframework.jdbc.datasource.lookup.JndiDataSourceLookup.getDataSource(JndiDataSourceLookup.java:44)
... 102 more
Approach:
You should find the lib folder your web project is using, find the calsses12-10.1.0.4.jar, and delete it from your lib folder.
分享到:
相关推荐
org.springframework.mock.jndi.ExpectedLookupTemplate.class org.springframework.mock.jndi.SimpleNamingContext.class org.springframework.mock.jndi.SimpleNamingContextBuilder.class org.springframework....
`org.springframework.beans.factory.config.PropertyPlaceholderConfigurer` 是Spring框架中的一个重要组件,主要负责处理配置文件中的占位符替换。这个类是Spring在初始化bean时用来解析和注入环境变量或系统属性...
org.springframework.context-3.0.0.M4.jar: 提供在基础IoC功能上的扩展服务,此外还提供许多企业级服务的支持,如邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存以及各种视图层框架的封装等 org.spring...
提供在基础IOC功能上的扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持。
org.springframework.context-3.0.0.M4.jar: 提供在基础IoC功能上的扩展服务,此外还提供许多企业级服务的支持,如邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存以及各种视图层框架的封装等 org.spring...
6. `org.springframework.context-3.1.0.M1.jar`: 扩展了IoC服务,提供邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存以及对多种视图层框架的封装,如JSP、FreeMarker等。 7. `org.springframework.core-...
5. `org.springframework.context.support-3.0.0.RELEASE`:提供了对Spring-context的扩展支持,主要用于MVC场景,包含了对邮件服务、任务调度、JNDI定位、EJB集成、远程访问、缓存和视图层框架封装等功能。...
org.springframework.mock.jndi 包含了 JNDI 的 partial implementation,可以用于测试环境中。 Servlet API Servlet API 是 Java 中的一个 Web 开发标准。在 Spring Framework 中,Servlet API 是一个非常重要的...
1. **org.springframework.aop-3.1.1.RELEASE.jar** - **功能**:提供面向切面编程的支持。 - **应用场景**:用于实现事务管理、日志记录等功能。 2. **org.springframework.asm-3.1.1.RELEASE.jar** - **功能**...
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context=...
<bean id="messageQueue" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:/queue/MyQueue" /> ``` 现在,我们已经有了发送消息的基础设施。接下来,我们...
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/MyDataSource"/> <!-- 其他Spring配置... --> ``` 这里,`jndiName`...
在Spring配置文件中,可以通过`org.springframework.jndi.JndiObjectFactoryBean`类来定义一个数据源。例如: ```xml <bean id="sysDB" class="org.springframework.jndi.JndiObjectFactoryBean"> ...
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> ``` 4. **使用连接池**: 对于...
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate"> <prop key="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory <prop key="java.naming....
org.geotools.arcsde.jndi org.geotools.arcsde.logging org.geotools.arcsde.raster.gce org.geotools.arcsde.raster.info org.geotools.arcsde.raster.io org.geotools.arcsde.raster.jai org.geotools....
标题与描述中的关键词“spring ldap的使用”指向的是在Spring框架下集成轻量级目录访问协议(Lightweight Directory Access Protocol,简称LDAP)的相关知识。Spring LDAP是Spring框架的一部分,它提供了一种简单的...
在SpringBoot中,我们可以通过实现`org.springframework.scheduling.quartz.JobDetailBean`和`org.springframework.scheduling.quartz.CronTriggerBean`来定义它们。例如,定义一个简单Job: ```java import org....
<groupId>org.springframework.boot <artifactId>spring-boot-starter-web <groupId>org.springframework.boot <artifactId>spring-boot-starter-data-jpa <groupId>org.quartz-scheduler <artifactId>...
2. **与Spring Framework集成**:Spring LDAP 完全融入Spring的IoC(Inversion of Control)容器,可以与其他Spring模块无缝协作,如Spring JDBC和Spring Data。 3. **强大的查询支持**:通过LdapTemplate类,开发者...